Programmering og forståelse
Ved NTNU har det gått en foredragsserie om faglig bruk av IT (eller er det IKT) i undervisningen en stund nå, og i forrige uke fikk jeg endelig rotet meg til å gå på et foredrag. Foredragsholderen var ingen ringere enn
Hans Petter Langtangen, en av hovedarkitektene bak innføringen av programmering fra første stund i fysikkundervisningen ved Universitetet i Oslo, og dessuten forfatter av to gode bøker om Python for seriøs vitenskap.
Han hadde naturligvis både festlige anekdoter og gode poeng på lager, og en av tingene han sa som jeg synes var ganske smart er at når du har programmert et problem, så har du forstått det. Eksempelet han ga var polynom-multiplikasjon. De fleste som tar realfagsmatte på videregående har rimelig god kontroll på dette når de kommer på universitetet, men å programmere det er visst en annen sak. Han sa de pleide å gi en oppgave som først går ut på å implementere en klasse for polynomer, altså et objekt som husker på par av koeffisienter og eksponenter for et polynom, og deretter be studentene om å implementere multiplikasjon av to slike objekter.
Av 300 studenter anslo han at minst 50 var meget skarpe, og likevel var det nøyaktig 0 studenter som hadde fått til dette de to gangene de hadde gitt øvingen. Dette tok han som et tegn på at selv om de formodentlig kjente regelen for å multiplisere to polynomer hadde de ikke forstått hvordan man formulerer det som en algoritme.
Etter å ha forsikret meg om at jeg fikk til å implementere polynom-multiplikasjon, forøvrig et morsomt problem, filosoferte jeg litt over dette, og selv om det åpenbart finnes unntak (jeg kan for eksempel erindre at jeg ved en anledning programmerte vinklene etter kollisjon for to kuler som kolliderer ved å prøve meg frem med sinus og cosinus i alle retninger til resultatet så fornuftig ut) tror jeg det er noe i dette. For å programmere et problem må man jo greie å bryte det ned til en serie med instruksjoner, og da tror jeg man ofte er langt på vei til forståelse.
Så, dagens moral er at langt flere burde lære å programmere, og gjerne på et ganske tidlig tidspunkt.
Comments