Uppsala universitet
Information
Technology


Home
Overview in Swedish
Members
Subprojects
Publications
Contact
Internal

Hur går det till att lära sig datavetenskap?

Projektet "Lärande, läranderesurser och lärandemiljöer inom datavetenskap"

Vad har projektet handlat om?

På senare år har det kommit många rapporter, från olika länder, om att datavetenskap tycks vara svårt att lära sig. Exempelvis har studenter svårt att klara kurser i datorprogrammering. Går det att göra något för att förbättra situationen? Ett första steg är att försöka förstå hur studenterna själva upplever de datavetenskapliga studierna. En sådan förståelse kan sedan tas till utgångspunkt för överväganden om hur undervisningen skulle kunna förändras.

Det är mot denna bakgrund vi har valt att undersöka hur universitetsstudenter i datavetenskap uppfattar lärandemiljön och förstår ämnet. Med lärandemiljön menar vi universitetsmiljön och de resurser som studenterna kan finna där för att lära sig om ämnet. Sådana resurser kan vara exempelvis läroböcker, föreläsningar, samarbete med andra studenter, WWW-dokument, olika former av datorstöd, övningsuppgifter och laborationer. En del av projektet har varit att få en inblick i vad studenterna uppfattar som användbara resurser för lärandet. Vi har också velat förstå på vilka sätt olika resurser används. Slutligen har vi undersökt hur studenterna uppfattar själva ämnesinnehållet.

Det senare, hur studenterna uppfattar ämnesinnehållet, utgör resultatet av deras lärande. Särskilt spännande har det varit att studera om detta utfall beror på hur studenterna uppfattar lärandemiljön och på hur de använder olika resurser för att lära sig.

Datavetenskap är ett brett ämnesområde. De datavetenskapliga ämnen som vi har koncentrerat oss på är dels grundläggande datorprogrammering, dels datakommunikation på avancerad nivå.

I undersökningarna av programmeringsämnet har vi inriktat oss på studenter i traditionellt upplagda kurser i objektorienterad programmering, det numera vanligaste sättet att programmera datorer. I ämnet datakommunikation har vår forskning gällt studenter i en projektkurs, där studenterna fick arbeta i grupper om sex personer.

Hur har vi gått tillväga?

Vi har samlat data framförallt genom att intervjua studenter. I viss utsträckning har vi också använt oss av videoinspelningar. För att kunna dra slutsatser har vi analyserat dessa data i ljuset av projektets frågeställningar. Den grundläggande formen av analys har gått ut på att beskriva hur studenterna uppfattar eller upplever olika fenomen i lärandesituationen, såsom centrala begrepp i ämnesinnehållet och olika resurser i lärandemiljön. Resultaten av analysen presenteras i form av beskrivningar av de olika sätt som studenterna uppfattar dessa fenomen på. Detta sätt att vetenskapligt studera lärande kallas fenomenografi.

Efter att ha formulerat dessa beskrivningar gick vi vidare och gjorde ytterligare analyser med beskrivningarna som utgångspunkt. En typ av analys innebar att vi undersökte hur variation i presentationen av ämnesinnehållet kan bidra till att studenterna kan uppnå en djup förståelse. En annan typ av analys innebar att vi ställde studenternas upplevelser av olika läranderesurser i relation till begrepp från en teori om de sociala och kulturella villkoren för lärande inom ramen för organiserad utbildningsverksamhet.

Vilka blev slutsatserna?

Programmering. Beträffande programmeringsämnet har vi funnit olika typer av uppfattningar hos studenterna om några centrala begrepp i objektorienterad programmering. Alla dessa uppfattningar är riktiga, men några innebär en djupare eller rikare förståelse än de andra. Den allra mest elementära uppfattningen innebär att studenterna bara har uppmärksammat programmeringsspråket. Därnäst kommer studenter som uttrycker uppfattningar med innebörd att de även har uppmärksammat att olika program får datorn att göra olika saker. Slutligen finns de studenter som också uppmärksammat att datorprogrammen konstruerats för att hantera olika uppgifter: sköta bokföring, boka hotellrum, eller beräkna väderprognoser, för att ta några exempel.

Genom att undersöka vad studenternas uppmärksamhet inriktats på när de arbetat med att lära sig programmering, har vi åstadkommit ett underlag för att diskutera hur man skulle kunna få studenterna att uppmärksamma ytterligare aspekter, så att de får en djupare förståelse. För en lärare ligger det exempelvis nära till hands att ta för givet att studenterna uppmärksammar att olika program får datorn att göra olika saker. Men våra resultat visar att så inte behöver vara fallet, trots att studenterna i vår undersökning sett många olika exempel på program under kursens gång. En slutsats blir att exemplen i sig inte räcker. Det gäller att ge studenterna tillfälle att se olika sådana exempel, som får att datorn göra olika saker, och att göra detta på ett systematiskt vis, så att studenterna blir uppmärksamma på just det faktum att det händer olika saker när olika program används. Detta kan åstadkommas på olika sätt.

Poängen med våra resultat är att de visar vad studenterna har svårt att uppmärksamma. Ur lärarsynpunkt blir detta en signal om vad som kräver extra omsorg och inte får tas för givet.

Vi har också undersökt vad studenterna uppfattar att det innebär att lära sig programmera. Därvid framkom ytterligare nyanser i uppfattningarna. Även i detta fall fann vi att vissa studenter huvudsakligen uppmärksammade programmeringsspråket. Andra hade även blivit uppmärksamma på att olika program får datorn att göra olika saker, och ytterligare några studenter hade fått upp ögonen för att program används för att hantera uppgifter i olika sammanhang. Men nu fann vi även exempel på studenter som dessutom hade uppmärksammat att programmering innebär att lösa problem. Som en konsekvens av detta uttryckte några studenter också att de genom att lära sig programmera tillägnade sig en färdighet som de skulle ha nytta av även i andra sammanhang, som inte behövde ha med datorer att göra.

Vi undersökte även studenternas användning av resurser vid lärandet av programmering. Vi har här bl a fokuserat på olika inriktningar och motiv som studenterna visade vid val av resurser. De preliminära resultaten av analysen visar på att vissa motiv, som traditionellt har klassats som ytinriktade, dvs förknippade med ytligt lärande, ändå verkar kunna ge en djupinriktning. Dessa motiv är karriärmotiv och sociala motiv. Studenterna kan använda resurser för att lära sig på djupet, eftersom de inser att de kommer att ha nytta av kunskaperna i senare studier eller kommande arbetsliv. Upplevelsen av att det är roligt att umgås med studiekamraterna, t ex när man samarbetar om en programmeringsuppgift, har också visat sig kunna ge en djupinriktning, trots att sociala motiv traditionellt förknippats med en ytinriktning. Båda dessa resultat ger implikationer för undervisningen. Att sätta programmeringen i ett sammanhang vad gäller studenternas utbildning och kommande arbete, och att uppmuntra arbetsformer där olika typer av samarbete förekommer är mycket viktigt för motivationen.

Sammanfattningsvis kan säjas att några resurser verkar bidra till djupinriktning bättre än andra. Där kan nämnas läraren, datorn samt andra studenter och kamrater. Studenternas berättelser pekar på att dessa resurser understödjer ett aktivt lärande och främjar djup förståelse. Däremot beskriver studenterna att de ofta använder lärobok och anteckningar ytligt, för att slå upp detaljer eller för att skriva av utan eftertanke. Bilden av studenternas resursanvändning är dock mycket blandad och de individuella variationerna är stora.

En av våra delstudier har handlat om hur studenter klarar att lösa realistiska programmeringsproblem. Studenter gavs i uppgift slutföra ett nästan färdigt programutvecklingsprojekt. Arbetet dokumenterades på videofilm och efteråt intervjuades studenterna. Några av frågeställningarna var på vilket sätt studenterna löste uppgiften och hur studenterna uppfattade vissa centrala begrepp inom objektorientering, begrepp som hade betydelse för funktionen och uppbyggnaden hos den programvara som skulle färdigställas. I programmeringsspråket Java finns exempelvis interface, ett mångbottnat och viktigt begrepp som används på ett avgörande sätt i den programvara som studenterna skulle arbeta med. Resultaten visar att studenternas förståelse av detta begrepp kan delas in i fyra skilda kategorier, där interface kunde uppfattas som (1) en text att kopiera och utgå ifrån när man ska programmera, (2) något som anger vilka ramar som gäller för programmet som ska skrivas, (3) ett sätt att hantera olika typer av data, eller (4) någonting som låter sinsemellan främmande objekt kommunicera med varandra när programmet körs.

Det fanns samband mellan å ena sidan förmågan att slutföra programutvecklingsprojektet och å andra sidan de olika typer av begreppsförståelse som studenterna gav uttryck för. Vår forskning visar att det är viktigt att studenterna får en rik och varierande begreppsförståelse för att kunna använda ett begrepp på rätt sätt i ett givet sammanhang.

Datakommunikation. Ett tredje delprojekt gällde en kurs som gavs i projektform och där varje projektgrupp inbegrep tre svenska och tre amerikanska studenter. Projektarbetet bedrevs med olika former av datorstött samarbete. Vi undersökte hur dessa studenter uppfattade ett begrepp som är väsentligt i samband med datakommunikation och hur deras uppfattning om detta begrepp hängde samman med hur studenterna upplevde sin läromiljö.

Begreppet som stod i fokus, nätverksprotokoll, var viktigt i studenternas projekt. Det innebär att vi kan utgå ifrån att det diskuterades bland studenterna. Vår forskning visar att det finns olika sätt att förstå nätverksprotokoll. Studenterna har beskrivit termen som (1) ett sätt att kommunicera mellan två datorer, (2) en förbindelse (ungefär som en telefonförbindelse) över ett nätverk, (3) en uppsättning regler som beskriver datakommunikation och (4) som en standard för hur datorer kommunicerar. Samtliga dessa fyra sätt är riktiga, men har olika tillämpningar. Till exempel är det värdefullt att se ett nätverksprotokoll som ett sätt att kommunicera mellan två datorer när man programmerar, medan att se protokollet som en standard fyller en funktion när man utvecklar nya protokoll.

Vi har också studerat hur studenterna uppfattar sin läromiljö, och där belyst aspekter som hur beslut tas i en grupp, vilken roll de veckovisa mötena med lärarna fyller i undervisningen och hur studenterna uppfattar att få betyg på denna kurs. För att sätta studenternas upplevelser av läromiljön i ett vidare sammanhang har även andra frågor analyserats, däribland frågan om vilka mål studenterna strävar mot. Här har tre olika mål identifierats: akademiska resultat, lära sig arbeta i projekt och social kompetens. Dessa mål kan i sin tur uppfattas på flera sätt. Till exempel kan en student arbeta mot akademiska resultat i form av betyg, medan en annan student strävar efter att lära sig någonting nytt.

Vi frågade också studenterna hur de gick tillväga när de studerade datavetenskap i den aktuella projektkursen. Medan vissa lärde sig enstaka orelaterade begrepp, sökte andra att lära sig genom att studera färdiga program och ytterligare några strävade efter att skapa helheter. Vi har funnit sammanlagt sju sätt att gå tillväga för att lära sig datavetenskap, där vissa är mer eftersträvansvärda än andra, eftersom de ger bättre möjligheter att förstå datavetenskapliga begrepp på olika sätt.

Generella slutsatser. Delprojekten beskriver tillsammans viktiga aspekter av hur studenter kan uppleva universitetsutbildning i datavetenskap: vad de lär sig, hur de uppfattar lärandemiljön och utnyttjar dess resurser för att försöka lära sig, samt mot vilka mål studenterna strävar.

Alla dessa aspekter av lärandet är sammanflätade. Genom att påvisa konkreta, ämnesspecifika förhållanden har vårt projekt bidragit till att tydliggöra hur denna sammanflätning kan yttra sig i ämnet datavetenskap. Sammantaget ger projektresultaten underlag för lärare att förstå hur studenter uppfattar de datavetenskapliga studierna och ämnesinnehållet. Därmed har projektet skapat förutsättningar för att finna vägar till förnyelse av datavetenskaplig utbildning.

Valid HTML 4.01!


©- 2002. Uppsala University, Department of Information Technology, Box 337, SE-751 05 Uppsala, Sweden | Webbmaster