Å undervise i programmering på skolen kan være veldig engasjerende, både for lærere og elever. Ikke bare er programmering gøy å jobbe med, men i tillegg er det egne kompetansemål knyttet opp mot programmering og det viser seg at programmering også danner et godt grunnlag for dybdelæring (Kluge, 2020, s.127-129). Dersom undervisningen i programmering skal gi elevene et godt læringsutbytte for elevene, må læreren legge til rette for det. Det er en stor felle å gå i at en tenker at teknologien og programmeringen har en iboende kraft i seg selv til å gi elevene den dybdelæringen som Fagfornyelsen legger så stor vekt på. Det er i stor grad lærerens pedagogiske og didaktiske valg som avgjør hvor mye læringsutbytte elevene får. Videre skal vi se litt nærmere på noen faktorer vi tenker er viktige for at undervisningsopplegget skal legge til rette for god læring blant elevene.
Først og fremst tror vi at godt forarbeid gir en god time i programmering. Lærer har bestemt gjennomtenkte grupper på forhånd, rammene er tydelige og klare og utstyret er i orden. Fra praksis erfarer vi på denne gruppa at elevene ofte er motiverte og engasjerte når de skal ha programming, noe som gjør det gøy å ha slike timer. Men lærer må også være bevisst på at elevene må ha tydelige rammer og vet akkurat hva de skal gjøre til enhver tid. Bendik hadde god erfaring med en klappelek, der elevene la fra seg Ipaden når de hørte en klapperytme, dette gjorde at det var lett å gi nye beskjeder. Gruppesammensetningen og størrelsen er også en sentral del av en vellykket time, det er viktig å sette sammen elever som jobber godt sammen og er på omtrentlig likt nivå, ved å gjøre dette er det lettere at alle på gruppen bidrar og drar hverandre i riktig vei.
Programmering kan også bidra til er å utvikle den kognitive kondisen. Den kognitive kondisen er en egenskap som er nødvendig for å kunne “stå i det” og ikke gi seg når det oppstår feil. Det handler rett og slett om å ikke gi opp. Denne egenskapen kan brukes i de fleste fag og er noe alle elevene får nytte i og utenfor skolen. Men det er viktig å tenke på at to skoletimer er lenge for elever i 6.klasse og derfor ser kan en pause på 10 min med friskluft være gunstig (Utdanningsdirektoratet, 2019).
Oppsummert kan vi se at det i arbeidet med programmering er viktig å tenke gjennom elevenes læringsutbytte og hvordan teknologien brukes. Arbeide med ulik teknologi som programmering kan være spennende for både lærer og elever det er derfor viktig med tydelige rammer for at elevene ikke skal havne på ville veier. Samtidig som det er viktig å la elevene få jobbe selvstendig uten å skulle gi en “fasit”, det er gjennom å prøve de utvikler sin kognitive kondis. For enkelte praktisk anlagte elever kan programmering være et fag de virkelig skinner i. Ved å la dem vise hva de får til for resten av klassen som beskrevet i undervisningsopplegget kan også disse elevene få mestringsfølelse, i tillegg til å teste ut noe som kan være skummelt uten at de selv tenker over det, nemlig å presentere noe foran andre.
Programmeringsressurser:
Referanser
Kluge, A. (2020). Hva tenker vi på når vi tenker digitalt? B D. Engen (Red.), Digitalisering, kompetanse og læring (s. 115-133). Gyldendal.
Utdanningsdirektoratet. (2019, mars 27). Algoritmisk tenkning. Hentet fra Udir: https://www.udir.no/kvalitet-og-kompetanse/profesjonsfaglig-digital-kompetanse/algoritmisk-tenkning/
Planleggingsskjema
Student: Bendik, Ane og Sander Dato: 25.03.21
Elevgruppe: 6. trinn Tid: 09.05-10.45 Fag: Matematikk
Læreplanmål: bruke variabler, løkker, vilkår og funksjoner i programmering til å utforske geometriske figurer og mønster
Grunnleggende ferdigheter: Muntlig Lese Skrive Regne IKT
Elevforutsetninger: Læreforutsetninger; motivasjon, kunnskaper, holdninger, ferdigheter etc.
Elevene har lite erfaring med programmering og koding. Elevene har så vidt vært innom enkel blokkprogrammering i 5. klasse.
Mål for økta: Hva skal elevene ha lært etter dagen/økta-faglig/sosialt? Begrunnelse.
Hovedmål for økta er at elevene skal lære mer om programmering. Mer spesifikt er målet at elevene skal lære seg å bruke de mest grunnleggende elementene for programmering, nemlig variabler og løkker. De flinkeste elevene vil også få mulighet til å lære mer om vilkår.
Elevene skal jobbe i grupper på to og to, og de vil derfor også få trening samarbeid og strategi-tenking.
Innhold: Hva elevene skal lære noe om/-tilegne seg. Konkretisering av lærestoff og begreper.
Elevene skal jobbe med Super:bit. Gjennom opplegget skal eleven få en enkel forklaring på hva programmering er, og hvordan blokkprogrammering fungerer.
Når elevene jobber med programmering etterpå skal de gjennom erfaring lære hva som skjer dersom en endrer på ulike variabler, hvordan løkker fungerer, og når og hvorfor det kan være hensiktsmessig å bruke løkker.
De elevene som prøver seg på vilkår vil også lære hvordan man bruke vilkår, og hvorfor man bruker vilkår.
Begreper vi ser blir nyttige for elevene er; blokkprogramering, kode, variabler, løkker og vilkår. I tillegg til matematiske begreper de tidligere har lært som grader og lengde/tid.
Arbeidsmåter: Hva elevene skal gjøre for å lære. Læringsaktiviteter.
09.05-09.25: Felles oppstart. Jeg introduserer super:bit for klassen, og forklarer hva vil skal gjøre i denne timen. Jeg bruker vitensenteret sin side på internett og viser en video om super:bit for elevene. Jeg viser et eksempel på en enkel kode i blokkprogammering-programmet, og viser hvordan man laster koden ned til super:biten. Selve programmeringen gjennomfører vi på makecode.microbit.org. Deler klassen i par.
09.25-09.35: Elevparene får utdelt hver sin super:bit. Jeg lager en kode foran i klasserommet, og alle elevene lager den samme koden på hver sine Chromebook. I tillegg alle elevene ned koden på suber:biten og sjekker at den fungerer.
09.35-09.50: Elevene får utdelt hver sin bil/bitbot. De får i oppgave å kjøre en meter fram, snu 180o og deretter kjøre en meter tilbake igjen. Dersom de får dette til kjapt, kan de teste ut led-lysene på bilen.
09.50-10.00: friminutt
10.00-10.20: Elevene får i oppgave å kjøre ei løype, slik som er beskrevet på vitensenterets side.
10.20-10.30: Elevene får i oppgave å kjøre gjennom hele byen, og de skal gjøre det ved å bruke ei løkke.
De elevene som blir fort ferdige med de to oppgavene over får i oppgave å gå inn på vitensenterets side og prøve seg på utfordring 4, nemlig å lage en selvstyrende bil.
10.30.10.40: De elevgruppene som ønsker får mulighet til å vise hva de har fått til for resten av klassen. Først viser de koden sin og forklarer hvordan de har tenkt, og deretter viser de hvordan bilen kjører.
10.40-10.45: Oppsummering. Elevene blir utfordret til å svare på hvilke av elementene de har brukt i løpet av dagen (variabler, løkker, vilkår, funksjoner). I tillegg blir elevene utfordret til å svare på hva de ulike begrepene betyr, og når det er hensiktsmessig å bruke dem.
Rammefaktorer: Lærere, læremidler, romforhold, organisering av dagen etc.
To lærere. Elevparene jobber sammen på én Chromebook. Parene får også én super.bit og én bitbot. Vi har tilgang på hele utstyrspakken for super:bit. Mattene som elevene skal jobbe på ligger på gulvet i klasserommet. Det er to par for hver matte.
Vurdering: Hvordan du som lærer vil finne ut av hva elevene har lært -om planen har fungert.
Gjennom oppsummering på slutten av timen vil jeg vurdere om elevene viser at de har forstått hva variabler, løkker og vilkår er, og om det vet hvorfor vi bruker det.