top of page
Kåre Erlend Jørgensen

Nødvendigheten av å kurse lærere i programmeringsdidaktikk – forsknings- og erfaringsbasert

Oppdatert: 23. mar. 2023

Et teknologidrevet samfunn krever digital kompetanse og programmeringsferdigheter. Dette gjenspeiles i læringsmålene i fagfornyelsen. Men der hvor de tradisjonelle fagene i skolen har veletablerte didaktiske prinsipper, står lærerne på bar bakke hva gjelder programmeringsdidaktikk. Denne artikkelen vil utforske betydningen av visuell innlæring, utvikling av programmeringskunnskap i fem faser og bruk av PRIMM-metoden i programmeringsundervisning, og slik gjøre lærere i stand til å undervise effektivt og engasjerende også i de nye kompetansemålene.


Usikkerhet

Skoleåret 2022-2023 startet jeg semesteret med å bekjentgjøre for mine elever i matematikk R1 at det nå forventes at de skal løse matematiske problemer ved hjelp av programmering. Elevene kunne da typisk svare «vi bare skrev den koden som læreren skrev, vi forstod ikke hva vi holdt på med» og «vi skjønner ikke programmering». Dette gjenspeiler høyst trolig virkeligheten i norsk skole også generelt. Det er klart at lærere ikke kan lastes for kompetansemangelen, da de har hatt det uvanlig travelt etter innføringen av fagfornyelsens læreplaner. Å forvente at lærere flest på egen hånd utvikler opplæringsløp i programmering i tråd med effektive didaktiske prinsipper er urealistisk.


I mine samtaler med lærere fra flere skoler i landet fremkommer det en tydelig usikkerhet rundt hvordan programmering skal undervises. Riktignok har det gått noen år siden fagfornyelsens inntog, og flere lærere er nå blitt en smule tryggere på sine egne programmeringsferdigheter. Felles for de fleste lærere er likevel en følelse av manglende kunnskap og kompetanse i det å designe læringseffektive opplæringsløp i programmering. Løsningen blir ofte å bruke en nettressurs, eller gi elevene ferdige programmer som står i boka. Konsekvensen er at lærere opplever liten grad av kontroll på om undervisningen i programmering faktisk fungerer.


Den gode nyheten er at det finnes effektive virkemidler og nyttige strukturer om lærere raskt kan ta i bruk.


Visuell innlæring

Visuell innlæring er en tilnærming der koden produserer en figur, og endringer i koden vises raskt som endringer på figuren. For eksempel kan en linje kode produsere en sirkel på skjermen. Denne metoden inviterer til utforskning og eksperimentering på en helt annen måte enn med tekstbasert innlæring. Når fokuset er på øyeblikkelige visuelle tilbakemeldinger, øker elevenes motivasjon og deres evne til feilsøking (L. Reng, 2012). Dette er i tråd med intensjonene i fagfornyelsen, der begrepene utforskning, eksperimentering og algoritmisk tenkning er vesentlige.


Det er også andre dokumenterte fordeler med visuell innlæring. For eksempel viser en studie av R.M. Mayer og R. Moreno (2002) at bruk av visuelle og verbale representasjoner sammen kan øke forståelsen og læringseffekten. Visuell innlæring er også i tråd med såkalt «kognitiv belastningsteori», som argumenterer for at mennesker har begrenset arbeidsminne og at visuelle hjelpemidler kan redusere belastningen på dette minnet (J. Sweller, 1988). Videre muliggjør visuell innlæring «mental visualisering», en sentral problemløsningsstrategi og katalysator for kreativ tenkning (S.M. Kosslyn, 1980). Visuelle representasjoner kan dermed hjelpe elevene med å forstå komplekse konsepter, som for eksempel løkker og funksjoner og andre programmeringsstrukturer og -primitiver.


Utvikling av programmeringskompetanse

En studie ved slovakiske skoler i 2015 setter søkelys på didaktikken i programmeringsundervisning og identifiserer noen utfordringer knyttet til undervisning av programmering. Noen av problemene de observerte, var at lærere ikke skiller mellom ulike kompleksitetsnivåer når de underviser i programmering og at de ofte hopper over viktige trinn når de forklarer løsningen (Ľubomír Salanci, 2015). Forskerne konkluderer med at det er nødvendig å utforme aktiviteter som lar lærere samle praktisk erfaring og utvikle kritisk tenkning rundt hvordan programmeringskompetanse utvikles.

Utviklingen av kompetanse i programmering kan deles inn i fem faser: motivasjon, erfaring, rensing, kunnskap og krystallisering. Den første fasen, motivasjon, er avgjørende for å engasjere elevene og skape interesse for den nye kunnskapen. Et eksempel på å skape motivasjon for løkker, er å be elevene lage et program som skriver ut «hei» 100 ganger. Oppgaven vil ha lav terskel, og løsningsmetoden er klar. Men oppgaven gir frustrasjon og skaper en naturlig motivasjon for å gjøre arbeidet på en mer effektiv måte ved å innføre løkker.


Gjennom erfaring får elevene muligheten til å utforske og bli kjent med den nye kunnskapen ved å gjøre en rekke enkle oppgaver. En enkel oppgave kan for eksempel være å gjøre små endringer i et ferdig program, som å bytte ut et tall med et annet. Rensing lar elevene rydde opp i eventuelle misoppfatninger og generalisere erfaringene. I denne fasen bør oppgavenes vanskegrad øke noe. Det kan for eksempel være å fullføre et halvferdig program, finne feil i kode eller sette sammen kodelinjer i riktig rekkefølge. Etter rensingen har eleven tilegnet seg ny kunnskap. I krystalliseringsfasen anvender elevene kunnskapen til å løse oppgaver i kjente og ukjente sammenhenger og situasjoner. Det er bare i den siste fasen at elevene får oppgaven med å lage programmer selv.


PRIMM-metoden

PRIMM-metoden (Predict, Run, Investigate, Modify, Make) er en strukturert tilnærming til opplæring i programmering.


Først får elevene i oppgave å forutsi (Predict) hva som vil skje når koden kjøres. Deretter kjører de koden (Run) og forklarer eventuelle avvik mellom forventet og faktisk resultat. Legg merke til at elevene begynner med et ferdig program. Dette betyr at terskelen for å begynne opplæringen er omtrent ikke-eksisterende. Det eneste de trenger å gjøre, er å gjøre seg noen enkle tanker om det de har lest, før de kjører programmet.

I undersøkelsesfasen (Investigate) gjør elevene små endringer i koden for å se hvordan dette påvirker resultatet. De gjør deretter større endringer i koden og skaper et program som er delvis deres eget (Modify). Til slutt lager de et helt nytt program (Make). Igjen ser vi at det kun er i siste fase at elevene får i oppgave å lage et eget program. Denne fasen representerer altså det høyeste kompetansenivået.


I studien utført av Sentance og Waite (2017) utforskes PRIMM-metoden som en pedagogisk tilnærming til undervisning i programmering. Blant funnene ser vi at metoden bidrar til å styrke elevenes forståelse av programmeringskonsepter ved å gi dem en strukturert tilnærming som fremmer aktiv læring. Metoden oppmuntrer elevene til å forutsi utfallet av kode, kjøre den og analysere avvik, samt eksperimentere med endringer og lage egne programmer. Dette fører til en dypere forståelse av faget og bedre problemløsningferdigheter. Lærere som deltok i studien, rapporterte at PRIMM-metoden ga dem en systematisk måte å undervise programmering på og muliggjorde mer meningsfulle samtaler med elevene om kodeforståelse og problemløsning. Lærerne observerte økt engasjement og selvtillit hos elevene og en forbedring i deres evne til å forstå og arbeide med kode.


Studien konkluderer med at PRIMM-metoden er en effektiv og nyttig pedagogisk tilnærming for undervisning i programmering, som støtter både lærere og elever i deres respektive roller og bidrar til bedre læring og mestring av programmeringskonsepter og ferdigheter.


Konklusjon

Denne artikkelen har undersøkt betydningen av visuell innlæring, utvikling av programmeringskunnskap i fem faser og bruk av PRIMM-metoden for å forbedre programmeringsundervisningen. Når lærere får opplæring i programmeringsdidaktikk, blir de i stand til å kunne engasjere og undervise effektivt. Implementering av visuell innlæring og strukturerte metoder som PRIMM vil bidra til å øke læreres kompetanse til å gjennomføre og designe gode opplæringsløp i programmering. Jeg håper at flere lærere innen kort tid ikke lenger føler på ubehag eller dårlig samvittighet når ordet programmering nevnes, men at de tvert imot kjenner positive gnister av mestring.


Kilder:


Kåre Erlend Jørgensen satt i oppgavenemnda for eksamen 1P-Y og 1T-Y i perioden 2017 - 2020. Han er forfatter av boka Kaares kokebok i programmering, utgitt i 2020, 2. utgave i 2021 og 3. utgave i 2022. Boka er tatt i bruk av flere ungdomsskoler og videregående skoler, i tillegg til institusjoner for høyere utdanning.

Siste innlegg

Se alle
bottom of page