Programmering skal bidra til at elevene forbedrer sin kompetanse og forståelse innen matematikk. Elevene utvikler sin algoritmiske tenkning ved at de lærer å tilnærme seg problemer på en systematisk måte. De skal lære å analysere problemet, bryte det ned i delproblemer, og vurdere hvilke steg som skal til for å løse det.
Fra standardalgoritmer til algoritmisk tenkning
I Norge er det definert flere standardalgoritmer for hvordan utregninger skal gjennomføres; regelen for divisjon eller multiplikasjon av flersifrede tall, for eksempel, følger en bestemt algoritme som angir de enkelte skrittene i oppgaveløsningen og deres rekkefølge.
Læreplanen legger vekt på utforsking og problemløsing: hvor hensiktsmessig er det for elevene å lære standardalgoritmer når målet med opplæringen er at de skal sitte igjen med forståelse, ferdigheter og kompetanse som de har nytte av videre i livet?
Gjennom opplæring i algoritmisk tenkning, lærer elevene å bryte ned større problemer til mindre, mer håndterlige delproblemer.
Dette gjør de ved å organisere og analysere problemene på en logisk og systematisk måte, for så å komme frem til algoritmer for å løse disse. Disse løsningene skal eleven kunne generalisere og bruke til å løse andre lignende problemer. Den algoritmiske tenkeren er systematisk og analytisk i sitt arbeid, men samtidig skapende, kreativ, eksperimenterende og åpen for alternative løsninger.
Programmering – et verktøy for å løse problemer
Programmering skal bidra til at elevene forstår den algoritmiske tenkningen, og klarer å anvende den. De skal gå fra en ren analytisk prosess til en steg-for-steg prosess; fra en abstrakt forståelsen av tall og symboler til en konkret numerisk forståelse. Programmering gir elevene en systematisk tilnærming til problemløsning, noe som innebærer prøving og feiling og systematisk feilsøking.
Med programmering skal elevene blant annet lære å:
- organisere og analysere data på en logisk måte
- bryte ned problemstillinger til mindre delproblemer
- lage algoritmer (steg-for-steg)
- se etter mønstre og likheter
- prøve, feile og feilsøke
- generalisere løsninger
Lær programmering med Kikora
Når forfattere lager programmeringsoppgaver i Kikora, tenker de helhetlig og med problemløsning i alle ledd. Plattformen gir elevene et oversiktlig og veldefinert sett med verktøy som de skal bruke til å løse oppgaver: elevene utforsker, prøver, feiler, og opplever mestring når de kommer fram til egne algoritmer som fungerer.
Blokkprogrammering: visuell, rask og lavterskel
Kompetansemålene legger opp til at elevene allerede på 2.trinn skal lære seg å lage og følge regler og trinnvise instruksjoner i lek og spill. Deretter skal de lære å lage og programmere algoritmer med bruk av variabler, vilkår og løkker. For å komme i gang med programmering og algoritmisk tenkning har Kikora lagt opp til at elevene starter med blokkprogrammering.
Med blokker får de en visuell, rask, og lavterskel introduksjon til programmering – de slipper å forholde seg til kode, semantikk og tegn. Alle kompetansemål i programmering fra 1. til 7. i LK20 kan oppnås med blokkprogrammering. Derfor har vi valgt denne metoden for å introdusere programmering for 1-7.
Overgang til tekstprogrammering
Etter hvert som elevene blir flinkere til å programmere, går vi over til tekstprogrammering for å oppnå kompetansemålene på ungdomsskolen. For å gjøre overgangen fra blokk til tekst overkommelig har vi laget egne læringspakker som viser og forklarer koden bak kodeblokkene, samt konseptene og begrepene.
Problemløsning steg-for-steg
Når elevene starter med blokkprogrammering, introduseres de for enkle programmeringskonsepter som for eksempel “trinnvise instruksjoner, løkker og vilkår”. Eleven har en trekantet pil som eksisterer i et rutenett og kan gjøre en del ting: telle, gå fremover, snu seg til venstre og høyre.
Den første oppgaven kan for eksempel handle om at figuren skal gå til flagget som står rett foran: det er ikke noen hindringer i veien, så løsningen er bare å gå frem til den treffer flagget og stopper.
I neste oppgave kan flagget være flyttet til høyre eller venstre men det er fortsatt foran figuren. Da holder det ikke lenger med å gå fremover og eleven må snu figuren. De neste oppgavene kan være at det ligger en stein eller flere steiner i veien, da kan ikke figuren bare gå rett frem, for den kommer til å kræsje med steinen.
Eleven må komme frem til en ny løsning, for det holder ikke lenge å gå rett fremover til flagget: en må tenke steg-for-steg.
Slike oppgaver ønsker vi skal styrke elevens analytiske evner og forståelse om hvorfor en skal tenke trinnvis, for resultatet blir definert ut fra både utgangspunktet og algoritmen.
Eleven lager egen algoritme
Når vi lager oppgavene i Kikora vet vi i utgangspunktet ikke hvordan elevene har tenkt å angripe problemet, for det finnes ofte mange ulike måter å løse oppgaven på. Vi ønsker at eleven skal komme fram til en løsning som de anser som sin egen, slik at når de møter nye oppgaver som ligner, kan de anvende samme type algoritme. Målet med programmeringsmodulen er ikke at elevene skal lære seg én teknikk, men heller at de skal lære å finne sin egen løsning.
Programmeringsmodulen skal gi rom for kreative måter å løse problemer på, nysgjerrighet, og vilje til å prøve ut ideer. Slik skal elevene få nye innfallsvinkler til forståelse av stoffet og oppnå dybdelæring.
Ønsker du å komme i gang med Kikora, eller lurer du på hvordan du best kan utnytte læremiddelet, har vi kurset for deg. Meld deg på her: https://kikora.no/kurs#course_list