Datamatiker-studerende burde have hjælpelærere

Michael Niebuhr bloggede om hvordan bærbare computere ikke egner sig til forelæsninger. Min holdning er at forelæsninger ikke egner sig som undervisningsform, når det kommer til at lære noget så praktisk som programmering.

En professor på DIKU ved navn Jakob Grue Simonsen foreslog engang, at man i revisionen af introduktionskurset til programmering sagtens kunne afskaffe forelæsningerne til fordel for flere øvetimer eller en hybridform.

Et forsøg på at gøre forelæsninger mere interaktive, hvis tradition mindst går tilbage til SICP-forelæsningerne, er at demonstrere programmering på projektor som afveksling til dias-fremvisning. Aspekter ved koden besluttes af forelæseren med enkelte input fra de mest engagerede tilskuere.

Både forelæseren og klasselæreren har i deres autoritet og erfaring en begrænsning: De skal anstrenge sig for ikke bare at recitere løsninger eller genopdage dem på deres sædvanlige, optimale måder, som om gode idéer falder fra himlen. En hjælpelærer, som samtidigt er studerende, begår flere af de samme fejl som nye studerende og kan bedre huske

Når den studerende tager til øvetime har hjælpelæreren, grundet klassens størrelse, lettere ved at indhente gode og dårlige løsningsforslag, overveje dem i plenum og præsentere fordele og ulemper. Den metode kan egentlig sagtens anvendes af klasselærere.

Jeg har alligevel en formodning om at der eksisterer en psykologisk forskel, når man sidder og koder i et rum hvor man ikke er bange for at foreslå en dårlig løsning, fordi hjælpelæreren ikke er en person, man skal bevise sig over for.

I min færden på datamatiker-skolerne i København (jeg har haft venner, som gik der, og jeg har observeret undervisningen i forbindelse med et kursus i didaktik) er det en positiv oplevelse, når ældre studerende hænger plakater op, hvor de tilbyder lektiehjælp. Det er sket i flere omgange på elevernes eget initiativ.

Men hvorfor overlade sådan en værdifuld ressource til tilfældighederne? Datamatiker-skolerne burde gå målrettet efter de mest engagerede studerende og tilbyde dem penge for den indsats de gør. Og hvis man ikke kan finde én eneste som er både kompetent og interesseret i et studierelevant job, kan man jo lave opslag på diverse andre it-uddannelser i omegnen. Ved en sådan ordning opfordrer man elever til at bruge deres fritid på at lære med tesen "Vil du gerne være god til det du laver? Så vær sammen med dem som gør en indsats!"

En anden ting jeg savner er brugen af videomateriale i undervisning, i det hele taget. Tag for eksempel Haskell Live, som i kombination med en lærebog som LYAH er et godt afsæt hvis man gerne vil kode Haskell:

Hvor meget betyder det for folks indlæring, at der er frivillige kræfter på studiet? Hvad er fremtiden for brug af videomateriale i undervisning?

Simon Shines billede
Simon er tidligere studieblogger på Version2, har læst datalogi på DIKU og et enkelt år økonomi. Han arbejder som FinTech-udvikler og er ved at starte et detektivbureau. Han kan godt lide funktionsprogrammering, oversættere, webudvikling og brætspil.

Kommentarer (9)

Torben Mogensen Blogger

Jeg er helt enig med Simon i, at live programming (kombineret med tavle til teori og tegninger) er langt bedre end powerpointpræsentationer, hvis man vil lære folk at programmere.

Men ligesom med cykling kan man ikke lære det kun ved at se andre gøre det -- man skal prøve det selv, og uden alt for meget hjælp. Ligesom farmand på et tidspunkt skal holde op med at holde fast i kosteskaftet på barnets cykel, så skal den studerende inden alt for lang tid prøve selv at programmere uden løbende hjælp.

Feedback er til gengæld essentielt. Så meget og så detaljeret, som det praktisk (og økonomisk) kan lade sig gøre. Man skal få at vide, at den kode man har lavet er grim og skrøbelig. Ellers bliver det aldrig anderledes.

Anne-Mette Tønnesen

Jeg er helt enig, Simon. Med hensyn til hjælpelærere og tutorer, er det noget vi allerede praktiserer på mange skoler som udbyder datamatiker uddannelsen. Her i Esbjerg, ansætter jeg altid "ældre" studerende til at hjælpe de nye i programmering, og vi afsætter en undervisningsfri dag, hvor alle datamatikerstuderende har "programming lab". Her kan studerende på forskellige semestre sidde sammen og løse opgaver og hjælpe hinanden.Det fungerer super godt :)
Vi er også godt klar over at programmering er et "håndværk" og at den eneste måde en studerende kan lære at programmere på, er ved at gøre det selv. Så det med at forelæse i timevis, er vi for længst gået væk fra :)

Torben Mogensen Blogger

Du kan også finde datalogistuderende på 3. år, der ikke kan kode andet end trivielle ting. Det er i de fleste tilfælde et spørgsmål om træning: Hvis man ikke koder andet end de obligatoriske afleveringsopgaver, så er det alt for lidt til at lære det ordentligt. Så vi anbefaler alle studerende at have hobbyprojekter eller erhvervarbejde (af behersket omfang), hvor de kan træne deres programmeringsfærdigheder, mens de studerer.

Andreas Karlsen

Det lyder uheldigt, især da uddannelsens norminerede tid er 2.5 år.
Jeg er selv datamatiker, og der var også nogle fra min klasse der gik ud, uden at kunne kode. De kom nemt igennem mange af tingene igennem gruppearbejde.

Når det er sagt, så mener jeg det er eget ansvar at opsøge lærring. Så hvis man ikke føler man kan kode, så bør man opsøge hjælp, eller kigge mere i lærebørerne, for jeg ved muligheden for lærring er der!

Martin Kofoed

Feedback er til gengæld essentielt. Så meget og så detaljeret, som det praktisk (og økonomisk) kan lade sig gøre.

Feedback kunne vel i høj grad også leveres automatisk? Her tænker jeg nogle af de samme systemer, der håndterer kode ude i virkeligheden: continuous integration, code checkers, coverage etc. etc. Den slags kan etableres både hurtigt og billigt (dog lidt afhængig af sprog), eller man kan anvende netbaserede løsninger.

Det erstatter naturligvis ikke den manuelle feedback fra et trænet øje, men det kunne forberede den studerende på en virkelighed, hvor kode ikke er noget personligt, men hvor større grupper kan forventes at vurdere kvaliteten og rette løs (nogle gange endda uden at spørge om lov ;-) ...

Måske er det allerede dagligdag derude, men nu er det også efterhånden 15 år siden, jeg forlod uddannelsessystemet.

Simon Shine Blogger

vi afsætter en undervisningsfri dag, hvor alle datamatikerstuderende har "programming lab"


Det jeg snakker om er en gennemgribende ændring i den sædvanlige undervisningspraksis som kunne være lige så radikal som skiftet fra folkeskole til friskole. En ekstra dag om ugen lyder ikke til at I egentlig har tillid til at man faktisk lærer mere af at arbejde selvstændigt med kode.

En sådan skepsis er nok i virkeligheden meget sund, og man kan kun ærgre sig over at der ikke er blevet forsket mere i effektive læringsmetoder inden for computere og programmering.

Jeg synes, det er interessant at påstå at elever kunne lære mere effektivt ved at fjerne envejskommunikationen når en anden tendens (på universiteterne) er at øget konfrontationstid er en fordel. Hence min påstand om at man burde have hjælpelærere det meste af tiden og en autoritetsrolle som vurderede og underviste i en mindre del af tiden.

Min påstand er derfor at man kunne arbejde med universitetsmodellen med dobbelt så meget konfrontationstid, frem for klasseundervisningsmodellen som minder mere om folkeskolen end noget andet.

Michael Niebuhr

En sådan skepsis er nok i virkeligheden meget sund, og man kan kun ærgre sig over at der ikke er blevet forsket mere i effektive læringsmetoder inden for computere og programmering.

Are you crazy? ;-D

Jeg har selv været til 2 forskellige konferencer om emnet, og kender til 2 andre årlige tilbagevendende konferencer om emnet. Der er masser af forskning på området, og det har der været i årevis.

Et vigtigt dansk værk:
Educating Novices in the Skills of Programming
http://www.daimi.au.dk/~mec/publications/index.html

The International Computing Education Research (ICER) Conference:
http://wp.acm.org/icer-conference/previous/

12th KOLI CALLING INTERNATIONAL CONFERENCE ON COMPUTING EDUCATION RESEARCH
http://cs.joensuu.fi/kolistelut/

Spørgsmålet er altså ikke, hvorfor der ikke forskes/forsøges med nye metoder. Spørgsmålet er, hvor mange penge man vil poste i undervisningen. Jeg tænkte selv over det i går, da jeg sad med en fortvivlet 1.års-studerende på Informationsvidenskab. Hun skal superviseres, dvs. have en sidemand, for at komme nogen steder. Den mulighed, den kapacitet, findes slet ikke på universitetet. Derfor er din idé med en hjælpelærer/mentor/ældre studerende god, men vil jo nok i sidste ende kræve penge, og netop der strander de fleste gode tiltag, er min erfaring.

I øvrigt findes der undersøgelser af princippet (under navnet "kammeratlæring") som har vist sig meget positive.

Søren Chrestensen

Aarhus Universitet har prøvet det med automatisk feedback service til introduktion til programmering. Det var en hjemmeside hvor man kunne uploade ens færdige klasser og så kom der svar tilbage om præcist hvor fejlen i koden var. Systemet var udviklet af et universitet i USA hvis jeg ikke huskede forkert.

Det fejlede gevaldigt. Langt de fleste studerende lavede finurlige løsninger for at behage systemet. De løste systemet istedet for at lære at programmere. Systemet blev droppet efter 1 år (2 undervisningsforløb) da det ikke hjalp i undervisningen.

Hvis et sådan system skal virke godt, er det alt for dyrt i udvikling og vedligeholdelse til at det kan betale sig.

Log ind eller opret en konto for at skrive kommentarer