5 råd for å komme i gang med programmering i skolen

Fagartikkel: Kanskje du bekymrer deg for hvordan du skal komme i gang, og hvordan du skal kunne lære elevene noe du selv ikke kan. Om du har det slik, har jeg fem råd til deg.

Publisert Sist oppdatert

Programmering er nå blitt noe alle elever skal lære. Et vesentlig moment er å legge terskelen så lavt at verken elevene eller læreren selv mister motet. Det er ikke så vanskelig som man skulle tro.

Om du er lærer i matematikk, naturfag, kunst og håndverk eller musikk, må du fra og med dette skoleåret forholde deg til læringsmål som dreier seg om programmering. Det er spennende, men kan også være skremmende. Kanskje du synes det er utfordrende nok med normal bruk av datamaskiner og læringsbrett. Kanskje du bekymrer deg for hvordan du skal komme i gang, og hvordan du skal kunne lære elevene noe du selv ikke kan. Om du har det slik, har jeg fem råd til deg:

1. Start enkelt

For å jobbe med programmering i skolen behøver du ikke å videreutdanne deg til å bli programmerer. Du skal heller ikke utdanne elevene til ferdig opplærte programmerere.

Om du ser på kurstilbud, bøker og diverse sterke meninger på nettet, kan det virke som om du må lære deg programmeringsspråket Python. Det må du heller ikke.

Det du må, er å innstille deg på å være minst like lærevillig, nysgjerrig, eksperimenterende og utholdende som det du forventer at elevene dine skal være. I klasserommet må du forberede deg på å lære sammen med elevene, lytte til elevene som kan noe fra før, være åpen for et virvar av forskjellige løsninger på det samme problemet og ikke minst feile mye.

På tross av diverse programmeringskurs på ettermiddagstid, valgfag i programmering på ungdomsskolen og den årlige begivenheten Kodetimen som mange skoler deltar på, så vil dette være nytt for både deg og de fleste av elevene. Nøkkelen til suksess vil være å starte enkelt.

Starter man for vanskelig, kan det være frustrerende der og da, men et dårlig førsteinntrykk kan også ødelegge elevenes motivasjon for alt som har med programmering å gjøre.
Starter man for vanskelig, kan det være frustrerende der og da, men et dårlig førsteinntrykk kan også ødelegge elevenes motivasjon for alt som har med programmering å gjøre.

Dette er det første skoleåret med programmering på 1.−9. trinn. Legg derfor lista lavt, både for deg selv og elevene. Målene i læreplanen er åpne og kan nås på mange forskjellige måter, fra enkle til avanserte. I matematikk må programmering ikke bli et forvirrende tilskudd som kommer i tillegg til alt det andre. La det bli et spennende og morsomt element som bidrar til temaene dere jobber med.

Start gjerne uten datamaskin og læringsbrett, prøv et programmeringsspill fra code.org eller gjennomfør et av forslagene under Ideer på scratch.mit.edu. Ta for eksempel en titt på oppgaven fra code.org hvor du skal hjelpe Elsa fra Frost med å lage mønster (bit.ly/kodefrost). Her lærer du å komme i gang med klossebasert programmering, du lager intrikate mønstre med geometriske figurer, du kan snakke om vinkler og grader og diskutere forskjellige løsninger. Et tilsynelatende enkelt programmeringsspill kan danne utgangspunkt for mye læring.

Samme type spill programmert i Python og i Scratch. Scratch gir elevene en visuell fremstilling av programmeringen.
Samme type spill programmert i Python og i Scratch. Scratch gir elevene en visuell fremstilling av programmeringen.

Det finnes utallige ressurser å ta utgangspunkt i for å komme i gang med programmering. Etter hvert vil også forlagene komme med forslag til oppgaver. Siden dette er nytt også for dem, vil nok oppgavene sprike i vanskelighetsgrad. Legg også merke til oppgavene som krever at elevene tar i bruk Python. De kan være fine, men ikke for nybegynnere. Bruk heller klosser.

2. Bruk klosseprogrammering

Du har hovedsakelig to veier å gå når du skal programmere digitalt: den tekstbaserte programmeringsmetoden og den klossebaserte. Tekstbasert programmering er nok det de fleste tenker på som «ekte programmering», og når du ser deg rundt på nettet og på videreutdanningstilbudene, er det gjerne Python som blir nevnt. Python er et tekstbasert programmeringsspråk som er relativt enkelt å komme i gang med, men som garantert vil føre til mengder med frustrasjon om det er der du begynner sammen med elevene.

Datamaskinene er nådeløse når det kommer til feil i koden, og dette gjelder spesielt for tekstbasert programmering. Her kan et manglende komma eller parentestegn føre til at programmet krasjer. I tillegg gir tekstbasert programmering gjerne et resultat uten de helt store visuelle inntrykkene. For å si det rett ut: Tekstbasert programmering vil for mange elever være både vanskelig og kjedelig å sette seg inn i. Heldigvis finnes det et alternativ.

Dette alternativet er koding med klosser, også kalt blokker. Med klosser blir programmering mer som et puslespill av ferdigskrevne kodesnutter. Det er enkelt å komme i gang, det er visuelt, det er lett å eksperimentere, og programmene krasjer ikke hvis du gjør noe feil. Faktisk kan du nå alle ordinære fags programmeringsmål i de nye læreplanene uten å benytte tekstbasert kode som Python.

Les denne: Slik kan du kombinere programmering og tverrfaglighet

Ved å bruke klosser vil elevene oppleve mestring allerede i første programmeringstime. De vil kunne eksperimentere med koden uten å måtte vite hva de skal skrive, passe på apostrofer og kommaer eller lete opp krøllparentesen på tastaturet. Det eneste de behøver å gjøre, er å sette sammen klossene og teste hva som skjer. De fleste klossebaserte programmeringsspråk gir en umiddelbar visuell tilbakemelding om hva koden gjør, og om elevene gjør noe feil, så vil de se feilen utspille seg på skjermen − i stedet for at det hele stopper opp i form av en feilmelding.

Men bør ikke elevene lære seg ett språk skikkelig godt? Og bør de ikke lære seg «ekte» tekstbasert programmering? Nei. Vi skal som sagt ikke utdanne ferdig utlærte programmerere. Vi skal gi elevene en forståelse av hvordan programmering fungerer, og trening i algoritmisk tenkning som metode. Vi skal få med oss alle, også de som strever med matematikk eller har større interesse for andre fag enn realfag. Det får vi fint til ved å jobbe med klossebasert programmering. Samtidig må du som lærer være klar for å slippe elevene fri. De som ønsker det, må få anledning til å avansere i vanskelighetsgrad.

Et program i Scratch som simulerer en terning.
Et program i Scratch som simulerer en terning.

Det som var Senter for IKT i utdanningen, skrev i 2016 at «Dersom elevene ‘når taket’ i det verktøyet som brukes (for eksempel et lavterskel-verktøy for visuell programmering), kan de ganske enkelt bytte til andre verktøy og andre programmeringsspråk som gir større utfordringer og muliggjør mer avansert programmering.» Kanskje vil vi nå et slikt nivå for de fleste elevene om noen år, men foreløpig vil klossebasert programmering være den beste fremgangsmåten.

Det er selvsagt ikke noe poeng i å holde elever tilbake dersom de ønsker å bevege seg fra visuell klossebasert programmering, men det har heller ikke noe for seg å lære elevene bare ett bestemt programmeringsspråk. Det å kjenne til de grunnleggende konseptene, kunne bruke algoritmisk tenkning, være fleksibel mellom de mange forskjellige programmeringsalternativene og forstå hvorfor koden fungerer må være målsettingen.

3. Programmer i alle fag og få koden ut i fysisk form

Matematikk, naturfag, musikk og kunst og håndverk er fag der man har lagt inn konkrete mål som handler om programmering. Men det er fullt mulig å bruke programmering i alle fag. Fagfornyelsen vektlegger tverrfaglighet, og programmering kan være en god mulighet til å oppnå nettopp det. Ved å kombinere mål fra flere fag, løse ekte problemer og gjøre programmering til noe praktisk kan motivasjonen øke hos elevene som i utgangspunktet har større interesse for andre fag enn realfag.

Elevene kan programmerere en interaktiv fortelling på norsk eller engelsk, bygge roboter som løser reelle eller konstruerte problemer, kode skrittellere til bruk i kroppsøving eller lage en kalkulator som kan konvertere mellom måleenheter til bruk i mat og helse. Finn små problemer eller utfordringer som kan løses ved å programmere. Slik hyppig bruk av programmering i korte seanser kan lønne seg fremfor store og kompliserte prosjekter.

En snekret boks med et programmert resirkulerings-spill: naturfag, kunst og håndverk, samfunns-fag og programmering i ett.
En snekret boks med et programmert resirkulerings-spill: naturfag, kunst og håndverk, samfunns-fag og programmering i ett.

Utstyr til å programmere med finnes i alle prisklasser og varianter. Micro:bit er kanskje den mest kjente gjenstanden til bruk i skolen, og vil gjennom prosjektet Superbit bli gratis delt ut til alle grunnskoler i Norge. Ta utstyret i bruk sammen med elevene, prøv dere på eksemplene som følger med, og bli kjent hvordan utstyret fungerer. På nettet finnes det tusenvis av prosjekter dere kan bruke som inspirasjon. Og det beste av alt: Micro:biten kan programmeres både med klosser og tekst.

4. Programmering handler om mer enn å skrive kode

Kanskje vi ved å programmere i skolen lykkes med å få flere interessert i å bli programmere etter endt skolegang. I en digitalisert verden er det et stort behov for et mangfold blant programmererne. Men uansett må det elevene lærer, ha verdi også for dem som ikke ønsker å spesialisere seg innenfor emnet. Det kan man oppnå ved ikke kun å legge vekt på å lære elevene å skrive koder inn i datamaskinen.

Programmering i skolen må handle om å gi elevene økt digital kompetanse, et innblikk i hvordan datamaskinene som omgir oss, fungerer, og øvelse i problemløsningsmetoden algoritmisk tenkning. Selve kodingen er en del av denne pakken, men langt viktigere er det å få elevene til å være kreative, samarbeide og kunne analysere problemer og bryte de ned i mindre biter, eksperimentere, feile og prøve på nytt.

Både elevene som ender opp som programmere, og alle andre må ha kunnskap om de problematiske og etiske sidene ved å leve i et gjennomført digitalt samfunn. Algoritmer finnes overalt, i banken, i butikken, på sosiale medier og i staten. Vi må derfor utdanne elever som vet hvordan dette samfunnet fungerer, og som kan ta gode valg til samfunnets beste. Overordnet del beskriver det best:

Teknologi har betydelig innvirkning på menneske, miljø og samfunn. Teknologisk kompetanse og kunnskap om sammenhengene mellom teknologi og de sosiale, økonomiske og miljømessige sidene ved bærekraftig utvikling står derfor sentralt i dette temaet. Teknologiutvikling kan bidra til å løse problemer, men kan også skape nye. Kunnskap om teknologi innebærer en forståelse av hvilke dilemmaer som kan oppstå ved bruk av teknologi, og hvordan disse kan håndteres.

Dette er kompetanse elevene skal utvikle gjennom hele skoleløpet, men er viktig å ha med seg når skolen skal planlegge for arbeidet med programmering i skolen.

Udir beskriver den algoritmiske tenkeren slik. Det å mestre denne metoden er viktigere enn det å kunne et bestemt programmeringsspråk.
Udir beskriver den algoritmiske tenkeren slik. Det å mestre denne metoden er viktigere enn det å kunne et bestemt programmeringsspråk.

5. Ha det gøy

Helt til slutt: Programmering skal være morsomt. Legg lista lavt, få alle med, og slipp elevene fri om de ønsker større utfordringer.

LITTERATUR (lenker)

Algoritmisk tenkning

Code.org

Micro:bit

Overordnet del − 2.5.3 Bærekraftig utvikling

Scratch

Superbit