Koding i skolen? – Hvorfor?

Koding i skolen? – Hvorfor?
I dette dokumentet skal jeg kort gjøre rede for hvorfor jeg mener
koding og programmering bør være en del av fremtidens skole.
Min erfaring fra koding og programmering er
 Kodetimer på trinnet hvor jeg er kontaktlærer (to år).
 Sommerskolen i Drammen (to år).
Programmene jeg har benyttet i undervisningen er KODU og
code.studio.org og Scratch.
Dokumentet er delt opp slik: I den første delen av dokumentet har
jeg sett nærmere på Ludvigsen-utvalget utvalgets utredninger
(fremtidens skole NOU 2014:7, NOU 2015:8), og knyttet dette opp
mot hvilke muligheter koding og programmering gir i skolen. Jeg
har videre tatt med noen praktiske eksempler opp mot noen av
kompetansene, og hvordan koding for eksempel kan brukes opp
kartleggingsverktøyene SOL og SUM, samt knyttet det opp mot
noen kompetansemål i matematikk.
Stig Halvorsen
2015-11-26
Hvorfor koding i skolen? – Ludvigsen-utvalget utvalget
I begynnelsen av denne sommeren leverte Ludvigsen-utvalget utvalget
en utredning om fremtidens skole (NOU 2015:8). I denne utredningen
pekes det på en del endringer den norske skolen må igjennom for å
møte fremtidens behov og digitale kompetanse. Utvalget beskriver et
kunnskapsgrunnlag med vekt på fire kompetanser:
- fagspesifikk kompetanse
- kompetanse i å lære
- kompetanse i å kommunisere, samhandle og delta
- kompetanse i å utforske og skape
Samfunns- og teknologiutviklingen virker inn på alle fag, og digital
kompetanse må komme til utrykk i alle skolefagene skriver
Ludvigsen-utvalget utvalget. Koding og programmering i skolen kan
bidra til å styrke disse kompetansene ved å knytte det direkte inn mot
selve faget eller bruke det tverrfaglig. Ludvigsen-utvalget utvalget
peker på at det i fremtiden vil være behov for at elevene utvikler
kompetanse innenfor sentrale fagområder som matematikk, naturfag
og teknologi, språk, samfunnsfag og praktiske estetiske fag. Koding
og programmering gir nettopp mulighet for dette, og det skal jeg gi
eksempler på senere i dokumentet.
Fremtidens skole innebærer et bredt kompetansebegrep som
involverer både kognitive og praktiske ferdigheter samt sosial og
emosjonell læring og utvikling:
Stig Halvorsen
2015-11-26
Kognitive og praktiske ferdigheter
 kritisk tenkning og problemløsning
 skapende, utforskende og kreativt
 digitalt
 tverrfaglig
Sosial og emosjonell læring og utvikling
 utholdenhet
 planlegging, gjennomføring og evaluering av egen og andres
læringsprosesser
 kommunikasjon og samhandling
Koding og programmering i skolen kan bidra og legge til rette for slik
læring og utvikling. Egne erfaringer viser også at koding og
programmering i skolen skaper variasjon i arbeidsmetoder og
tenkemåter, det gir økt motivasjon og engasjement for læring og
utvikling og det gir muligheter både til å jobbe individuelt og i
grupper.
Hvorfor koding i skolen? – Praktisk eksempler knyttet opp
mot fremtidens kompetanse.
Kritisk tenkning og problemløsning
Ludvigsen utvalget anbefaler at kreativitet, innovasjon, kritisk
tenkning og problemløsning er kompetanser skolen utvikler for
fremtiden.
Stig Halvorsen
2015-11-26
Kritisk tenkning og problemløsning vil si å kunne resonere og
analysere, identifisere relevante spørsmål og bruke relevante strategier
for å løse problemer. Koding og programmering gir mange muligheter
ift til dette, som her vises gjennom noen eksempler fra kodetimer på
trinnet og sommerskolen:
Eksempel – KODU: En elev har laget et spill basert på poeng.
Meningen med spillet er å fange flest mulig gullmynter slik at han
oppnår en viss poengsum. Eleven vil også designe spillet slik at man
mister poeng hvis man fanger blå mynter. Poengsummen fører han til
neste brett der en ny oppgave venter. Her har eleven flere utfordringer
som han må løse med kritisk tenkning og problemløsning: Hvor
mange poeng gir gullmyntene (addisjon), hvor mange minuspoeng gir
de blå myntene (subtraksjon), hvor vanskelig er det å fange
gullmyntene, hvor lett skal det være å unngå de blå myntene, hvor
mange gullmynter må sankes for å få poengsummen som fører spillet
videre, og hvor mange poeng skal man miste for å tape spillet?
Stig Halvorsen
2015-11-26
Eksempel – Scratch: Denne oppgaven er hentet fra kodeklubbens
hjemmeside (http://kodeklubben.github.io/). Selv om oppgavene til
kodeklubben er basert på å lese og følge instruksjoner, ligger flere av
oppgavene til rette for kritisk tenkning og problemløsning. Oppgavene
gir elevene mulighet til å bruke ulike strategier for å løse utfordringen
de møter. Her er et eksempel fra undervisningen. Målet med
oppgaven er at elevene skal lage et enkelt fotballspill hvor poenget er
å score på så mange straffespark som mulig.
Elevene møtte på mange utfordringer i denne oppgaven og her er noen
av de: Det er vanskelig for Leo (Løven) og score mål. Keeperen
(Blekkspruten) redder alt. Her må elevene stille seg selv noen
spørsmål: Hvorfor er det sånn at Leo bommer hele tiden, og
blekspruten redder alt? Hva kan jeg gjøre for at Leo scorer oftere, og
Blekspruten redder mindre? Hvor mange poeng skal Leo få for
scoring? Hvor mange poeng skal Leo miste når blekkspruten redder?
Her brukte de mange ulike strategier: Noen av elevene mente at
størrelsen på keeperen måtte reduseres. De prøvde flere størrelser. De
erfarte at hvis keeperen ble for liten ble det for enkelt for Leo å score,
hvis keeperen ble for stor ble det for vanskelig å score. Noen av
elevene mente at hastigheten på ballen var for lav i forhold til
keeperens raske bevegelser. Ballen som Leo sparket måtte justeres,
men at også hastigheten på keeperen måtte justeres. I tillegg ble det
ikke gitt poeng for mål/redning. Her måtte elevene lage et
poengsystem som gav Leo poeng for scoring, og Blekkspruten for
Stig Halvorsen
2015-11-26
redning. Elevene prøvde ulike strategier opp mot hverandre til de fant
det som passet deres mål med spillet best mulig.
Nedenfor er et bilde av spillet, og et bilde av elevene som arbeider
med oppgaven.
Skapende, utforskende og kreativt
Ludvigsen-utvalget utvalget skriver blant annet at en utforskende
tilnærming til kunnskap er viktig i fremtidens skole. De skriver videre
at kreativitet, innovasjon, nysgjerrighet og utholdenhet er viktige sider
Stig Halvorsen
2015-11-26
av kompetansene. Jeg mener at koding kan bidra til en slik
tilnærming. Nedenfor er noen praktiske eksempler.
Eksempel – KODU: Dette eksemplet (se bildet) er hentet fra et spill
der en elev har skapt en handling som foregår i verdensrommet. Målet
med spillet er å finne et bestemt objekt som er gjemt på planeten.
Karakterene i spillet kommuniserer med hverandre på engelsk. Her er
noen eksempler på hva eleven måtte ta stiling til når han skapte og
designet spillet: Hvordan skal landskapet se ut? Hva slags klima er det
der? Hvilke objekter skal være med på planeten? Hvordan skal de se
ut? Hvilke karakterer skal være med, og hvordan skal de kommunisere
med hverandre?
Eksempel – Scratch:
Stig Halvorsen
2015-11-26
Kodeklubbens oppgaver spøkelsesjakten: I denne oppgaven skal
elevene lage et spill der spøkelsene blir borte når man klikker på dem
(ref: tivolispillet Whack-a-mole). Målet er å klikke bort flest mulig i
løpet av 30 sekunder. Den første delen av oppgaven er lagt opp til at
elevene må følge gitte instruksjoner og oppskrifter. Etter hvert som
spillet tar form får elevene mulighet til å prøve ut ting selv.
I oppgaveteksten står det for eksempel at elevene kan legge til lyd i
spillet. Her har kan elevene bruke ferdigproduserte lyder, eller ta opp
egne lyder og legge de til i spillet. Noen av elevene tok opp egne
lyder og tilpasset dette etter spillets mål. Noen lagde skumle lyder til
spøkelsene, andre lagde morsomme lyder fordi meningen med spillet
var humor. Antall spøkelser i spillet kan elevene også påvirke. Noen
av elevene valgte å legge til flere spøkelser for å skape variasjon i
spillet, mens andre valgte å fjerne spøkelsene for å bruke andre
figurer. Noen elever ønsket at utgangpunktet for spillet skulle være
noe annet enn spøkelser, og byttet derfor tema og meningen med
spillet selv om de fulgte de samme instruksjonene Selv om oppgavene
fra kodeklubben er basert på instruksjoner gir det allikevel elevene
mulighet til å tilpasse og videreutvikle etter hvert som spillet blir til.
Nedenfor er lite utdrag fra oppgavesettet, og bilder fra
undervisningen.
Stig Halvorsen
2015-11-26
Her viser noen av elevene frem spøkelsesspillet for resten av trinnet. Legg merke til de fargerike
spøkelsene.
Kommunikasjon og samhandling:
Stig Halvorsen
2015-11-26
Utvalget skriver at å kunne kommunisere og samhandle er et viktig
kompetanse område i skolen fremover. Jeg mener Koding gir
muligheter for lesing, skriving og muntlig kompetanse, men også gode
muligheter for samhandlingskompetanse når elevene arbeider
sammen.
Vi har arbeidet med koding individuelt. Målet med den individuelle
jobbingen har vært å arbeide med oppgavesettene slik at elevene har
trent på å lese instruksjoner og følge en oppskrift alene, men også for
å trene elevenes utholdenhet der de må prøve en del selv før de spør
om hjelp fra medelever eller læreren. Spesielt det siste har vært viktig.
Alt for mange elever spør om hjelp før de har prøvd selv (gjelder de
fleste fagene), ved å arbeide med oppgavesettene fra kodeklubben kan
man prøve en del ting selv, hvis ikke det går kan man søke hjelp i
oppgavesettene.
Vi på 7.trinn har arbeidet mest i grupper. Elevene har blitt satt
sammen to og to. Noen ganger tilfeldig. Andre ganger der som føler
seg trygge på kodingen blir satt sammen elever som er utrygge. Vi
har også satt sammen elever ift nivåer i koding.
Erfaring fra undervisningen viser at utbytte av kodeøktene er større
når elevene arbeider sammen enn når de arbeider alene. Når elevene
arbeider sammen skaper det trygghet. Da får elevene mulighet til å
dra nytte av hverandres erfaring og kunnskap. Det legger også til rette
for samhandling og kommunikasjon på tvers av elevenes interesser og
ferdigheter. Erfaring fra kodetimer der elever arbeider sammen viser
Stig Halvorsen
2015-11-26
at det kreative og utforskende økes. Det gir større muligheter for gode
samtaler rundt utfordringer de møter på i spillprogrammeringen.
Enkelte av elevene har også blitt så trygge på det vi arbeider med at de
fungerer som hjelperlærere i timene.
Et annet punkt rundt kommunikasjon og samhandling er
presentasjonen av spillene de har laget. På slutten av timene får
elevene komme opp på smartboarden og presentere hva de har laget,
hvordan de har laget det og hvorfor de har laget det.
Begrepslæring:
Vi på 7.trinn arbeider til daglig aktivt med begreper og
begrepsinnlæring. Dette er viktig for dybdelæringen, men det er også
viktig fordi vi er et trinn med mange tospråklige elever. Mange av de
tospråklige elevene arbeider aktivt med begrepsinnlæringen via
Særskilt norskopplærings timer der de øver på begreper teoretisk og
Stig Halvorsen
2015-11-26
praktisk. Med utgangspunkt i at mange av de tospråklige elevene på
trinnet har store utfordringer med begreper, og var jeg sikker på at
dette kunne bli en utfordring i arbeidet med koding og kodeklubbens
oppgaver.
Det ble som jeg trodde begreper som hastighet, redusere, tilfeldig,
berøre, beregne, utvide og posisjon (begreper som brukes i
oppgavesettene) var for det første ukjent, og derfor vanskelig for å
forstå for mange av våre tospråklige elever.
For eksempel var ordet hastighet ukjent for mange av de tospråklige
elevene, men satt i sammenheng med at dette er noe som påvirker
farten på ballen (oppgaven – straffespark) fikk elevene en forståelse
av ordet opp mot en praktisk kontekst. De så det at ”hastigheten” var
viktig og avgjørende for hvordan de ulike elementene i spillet
fungerte. Jeg har mange eksempler på hvordan elever, men spesielt
tospråklige elever for en bredere forståelse av begreper ved at de kan
knyttes opp mot noe praktisk som koding gir muligheter for.
Stig Halvorsen
2015-11-26
Stig Halvorsen
2015-11-26
Hvorfor koding i skolen? – SOL - pyramiden
SOL – pyramiden (systematisk observasjon av lesing) er et verktøy
som brukes for å fastslå hvor elevene er i leseutviklingen. SOL pyramiden er et godt verktøy for tilbakemelding til elever og foresatte.
Verktøyet brukes i dag av mange skoler i Norge. Verktøyet følger
elevenes leseutvikling gjennom alle de ti årene. Pyramiden er delt inn
i 10 nivåer, som igjen er delt inn i punkter/nivåer eleven må nå for å
komme videre i leseutviklingen. Her er noen punkter fra SOLpyramidens vurderingsskjema som vi på 7.trinn har knyttet opp mot
koding og programmering i undervisningen (vi har brukt oppgaver og
instruksjoner på http://kodeklubben.github.io/scratch/index.html Scratch):
Solnivå 6 - Automatisert ordgjenkjenning
6.10 Kan lese og forstå enkle skriftlige oppgaver og instruksjoner.
Solnivå 7 - Økt automatisering og leseflyt
7.4 Kan lese og følge skriftlige oppgaver og instruksjoner.
Nedenfor er et eksempel på en instruksjon eleven må følge for å løse
kode-oppgaven (oppgavesett – Scratch - Felix og Herbert):
Stig Halvorsen
2015-11-26
Solnivå 8. Strategisk lesing
8.10 Kan lese ulike tabeller, diagrammer, grafer og kart.
8.12 Finner fram til relevant informasjon og kan navigere på
internettsider.
Her er et eksempel på en elev som er vurdert i SOL-pyramiden med
utgangspunkt i oppgaver og instruksjoner i Scratch.
Stig Halvorsen
2015-11-26
Hvorfor koding i skolen? – SUM
SUM (systematisk utforskende matematikk) er et nytt
kartleggingsverktøy som skal brukes for å fastslå elevenes
matematikkutvikling. Verktøyet er delt inn i syv nivåer, som igjen er
delt inn underpunkter/nivåer. Vi på 7.trinn har ikke kommet i gang
med dette verktøyet enda, men jeg vil gi noen eksempler som kan
knyttes opp mot koding og programmering:
SUM-nivå 5 (geometri)
G 5.5 Kan forskyve, speile og rotere figurer.
Nedenfor er et eksempel på en kodeoppgave der eleven skal rotere en
figur og endre størrelse. (oppgavesett – Scratch - Straffespark):
SUM-nivå 6 (tall)
T 6.5 Kan trekke ut nødvendig informasjon i tekster eller praktiske
sammenhenger, velge regneart og utføre utregningen.
Stig Halvorsen
2015-11-26
G 6.4 Kan bruke koordinater til å beskrive plassering og bevegelse i et
koordinatsystem.
Hvorfor koding i skolen? – Lokale lærerplanen i
matematikk Drammen kommune:
Jeg har tatt utgangspunkt i kompetansemålene til 7.trinn (det finnes
flere kompetansemål på de andre trinnene som kan knyttes opp mot
koding og programmering i skolen):

vurdere og samtale om sjansar i daglegdagse samanhengar, spel
og eksperiment og berekne sannsyn i enkle situasjonar

vurdere sannsynligheten i spill og eksperiment

finne informasjon, velge og vise framgangsmåte, og begrunne
valg av regneart

bruke forhold i praktiske samanhengar,

beskrive og gjennomføre spegling, rotasjon og
parallellforskyving
Nedenfor er et eksempel på en kodeoppgave der eleven skal rotere en
figur og endre størrelse. (oppgavesett – Scratch - Astrokatt):

beregne vei, fart og tid
Stig Halvorsen
2015-11-26
På neste side er et eksempel på en kodeoppgave der eleven skal endre farten på
ballen/keeperen for å gjøre spillet vanskeligere/enklere. (oppgavesett – Scratch Straffespark):
Kilder:
https://blogg.regjeringen.no/fremtidensskole/files/2015/06/NOU2015201500080
00DDDPDFS.pdf (NOU 2015:8)
Sol – pyramiden (Systematisk observasjon av lesing)
SUM- (Systematisk utforskende matematikk)
https://fronter.com/vebu/links/files.phtml/560ce90e6986e.984481061$47489396
0$/Arkiv/Fagplaner+Barnetrinn/Fagplan+2013+1-7+matte+revidert+2015.docx
(Lokale lærerplanen i matematikk – Drammen kommune).
http://kodeklubben.github.io/scratch/index.html
Stig Halvorsen
2015-11-26