Koding, eller programmering, er det vi bruker når vi ønsker å få datamaskiner til å gjøre en jobb for oss. I dag er samfunnet gjennomsyret av teknologi som baserer seg på koding; mobiltelefonen, PC-en, sosiale medier og internett, bilen, toget, sjukehuset, skolen, trafikklysene, forskning og vitenskap – alt er avhengig av at teknologien er der og fungerer som den skal. Og for at den skal gjøre det, noen ha skrevet koden som forteller datamaskinene hva de skal gjøre!
Det har blitt sagt at koding er det nærmeste vi kommer superkrefter, for om du kan kode, kan du utrette ting som før var utenkelige.
Det finnes tusenvis av programmeringsspråk, noen svært spesifikke med helt konkrete bruksområder, og noen svært generelle, som kan brukes til “alt”. Språkene som i all hovedsak benyttes i norsk skole, er det blokkbaserte Scratch, og tekstbaserte Javascript (JS) og Python. MakeCode, som finnes til blant annet Minecraft Education Edition og BBC Micro:bit, er et “skall” med blokker som plasseres oppå tekstkode som JS og Python. På den måten kan man svitsje mellom blokkbasert og tekstbasert koding på en elegant måte. MakeCode bygger på en teknologi som heter Blockly, som vi finner på mange forskjellige nettsider, som amerikanske code.org og norske blockuino.no.
Når vi koder, skriver vi algoritmer. En algoritme er helt enkelt en oppskrift eller instruksjon som forteller datamaskinen hva den skal gjøre. Vi mennesker følger slike algoritmer daglig. Du har garantert din egen tannpussalgoritme, og hvis du ikke følger bilkjøringsalgoritmen når du setter deg bak rattet, kommer du ikke veldig langt. Når du strikker, baker eller snekrer, følger du også gitte algoritmer for å ende opp med et sluttprodukt som kan brukes. Datamaskinene trenger svært eksplisitte algoritmer, der vi mennesker har tenkt fremover og tatt høyde for alle omstendigheter som kan oppstå. Dette er en del av det vi kaller “algoritmisk tenkning”- eller computational thinking på engelsk.
Eksempelkode i Scratch