Denne artikkelen er levert av Titan.uio.no, en nettavis utgitt av Universitetet i Oslo (UiO).
Programmering endrer skolefagene, heter det. Men hvordan? Vi ble med lærere på programmeringskurs.
«Programmering er ikke det samme som koding» er dagens første leksjon fra foredragsholderne Knut Mørken og Cathrine W. Tellefsen.
Algoritmisk tenkning
Sammen med kolleger og studenter har de utviklet kurset ProFag – programmering for fagenes skyld, der de lærer bort realfaglig programmering til lærere.
Koding, selve det å taste inn et dataprogram, er bare en liten del av programmeringen. Viktigere er algoritmisk tenkning, måten en må tenke på for å oversette et problem uttrykt i ord til en logisk rekke av operasjoner som kan kodes inn i en datamaskin.
– Den største jobben er å finne ut hva du ønsker å gjøre og formulere det på en presis måte, sier Knut Mørken.
Stringent tenkemåte
– Deretter må vi kommunisere det vi ønsker til maskinen i et språk den forstår, for eksempel Python. Python er programmeringsspråket studentene i realfag og teknologi ved UiO lærer i første semester.
– Algoritmisk tenkning er en stringent tenkemåte som kan hjelpe elevene til å bygge opp intuisjon for faget, sier Tellefsen.
Vi må ha et eksempel: Bohrs atommodell ser på atomet som en liten kjerne i midten, med elektroner som beveger seg i skall utenfor. I faget Fysikk 1 på videregående skole studerer elevene energinivåene til elektroner i ulike skall:
Elektron hopper
Når et elektron hopper fra et skall med høy energi til et skall med lavere energi, sendes det ut et foton med en bestemt energi.
Elevene lærer en formel for bølgelengden til fotonene. Formelen er ganske enkel, og det er mulig å regne ut bølgelengder med penn, papir og kalkulator. Men å lage et lite dataprogram har mange fordeler:
For å klare å programmere formelen, må elevene virkelig forstå likningen. Siden det er mye raskere å endre litt på dataprogrammet enn å regne ut mange stykker manuelt, kan elevene eksperimentere med formelen og for eksempel finne ut hvilke elektronhopp som gir synlig lys.
Trenger ikke formler
– Vi trenger ikke regne med formler heller, vi kan regne med data, sier Andreas Haraldsrud, som er lærer på Valler videregående skole og har vært med på å lage læreplan for faget programmering og modellering.
Store datasett er tilgjengelig på nett. NASA har for eksempel gjort data for planetbaner tilgjengelig.
Andreas Haraldsrud forteller at elevene hans laget et program som lastet inn nuklidedata og regnet på frigjort energi ved fusjon og fisjon av atomkjerner.
– Matematikk er en hindring
Ved å jobbe på denne måten, finner elevene selv fram til sammenhenger istedenfor å få resultatet (formelen) ferdig presentert.
– Matematikk er ofte en hindring for å gjøre det jeg har lyst til å gjøre i fysikkundervisningen, mener Cathrine W. Tellefsen, som leder utdanningen av realfagslektorer ved UiO.
– Begrensningen ligger ikke i matematikken i seg selv, men det at elevene ikke kan nok matematikk til å regne på problemer i fysikk, presiserer hun.
Fysikklærere som underviser Fysikk 1 (i vg2) er for eksempel glade i å slippe muffinsformer i gulvet. Ikke fordi fallende muffinsformer er et viktig fenomen å studere, men det kan illustrere potensiell og kinetisk energi, elevene kan logge fart og posisjon og lære om akselerasjon.
Hellige gral
Men hva med luftmotstanden? Hvis vi vil regne skikkelig med luftmotstand, må vi bruke en differensiallikning, og det lærer ikke elevene før i slutten av matematikkfaget R2 i vg3, altså over ett år etter at de har bruk for det i denne sammenhengen.
– For å komme til den hellige gral og løse realistiske problemstillinger, må en gjerne gå en lang og kronglete vei og lære seg matematikk.
– Med programmering og numeriske metoder for å løse ligninger, kan vi ta en annen vei som slett ikke er så komplisert, men som samtidig kan gi et alternativt perspektiv på matematikken og fysikken.
Alt kan ikke løes med matte
– Sammen med elevene klarer vi å sette opp et uttrykk på datamaskinen hvor vi også tar med luftmotstand, selv om elevene ikke har lært om den mer avanserte matematikken ennå, sier Tellefsen.
– Mange problemer klarer vi heller ikke å løse med klassisk matematikk, legger matematiker Knut Mørken til.
– Siden alle elevene nå har datamaskiner, trenger vi ikke la oss begrense av metodene vi har brukt de siste 300 årene. Bruk av programmering gir oss muligheter til å jobbe med mye mer komplekse problemer.
Innblikk i teknologi
Programmering kan også gi oss innblikk i avansert teknologi. Fysikkstudent Anders Johansson demonstrerer derivering.
Derivasjon handler om å finne et mål på hvor raskt en funksjon endres, og elevene kjenner til operasjonen gjennom en rekke regneregler.
Tar vi programmering til hjelp, kan vi se hva som skjer hvis vi deriverer et bilde. Anders Johansson bruker et trafikkbilde som eksempel.
ProFag-kurset
Når han deriverer det, står skilt og stolper tydelig fram i bildet (til høyre). Et enkelt eksempel på teknologi som brukes av selvkjørende biler.
ProFag-kurset er utviklet av Henrik Løvold, Henrik Sveinsson, Andreas Haraldsrud, Anders Johansson, Tone Gregers, Knut Mørken og Cathrine Tellefsen.
Nysgjerrig på programmering eller lyst til å lære selv? Alt materiale fra kurset ligger åpent på nett: ProFag