Hvorfor bruke roboter for å lære koding i skolen

Illustrasjon fra foredrag om Robotassistert undervisning.
Vi lever i en verden der stadig flere prosesser digitaliseres, helt eller delvis. Svært mye av det som omgir oss i hverdagen måles og styres av digitale programmer. Selv om de fleste av oss ikke skal bli programmerere er programmering dermed noe som angår oss alle. Gjennom dagligliv og utdanning skal barn og unge lære å forstå dette samfunnet for dermed å bli bedre i stand til å påvirke det i positiv retning.

Ulike former for programmering / koding er lett tilgjengelig via skjermmediene. Det er imidlertid noe annet å styre fysiske ting, i stedet for virtuelle objekter som bare visualiseres via skjermen til en datamaskin. En robot er en del av den fysiske virkeligheten som omgir oss og det blir dermed ekstra spennende å kunne kontrollere den.

Et virtuelt miljø, slik vi f eks kan skape et spillbrett i et dataspill, er svært kontrollerbart. Det finnes ingen objekter eller hendelser i miljøet som ikke er definert gjennom programmet som styrer spillet. Med roboter er det annerledes, siden disse agerer i virkelige, fysiske omgivelser. Hvordan disse omgivelsene registreres gjennom sensorer og kan manipuleres gjennom robotens bevegelser. Aisoy-robotene er ikke laget for å forflytte fysiske objekter eller kjøre en programmert rute, men disse robotene kan til gjengjeld interagere gjennom bevegelse, uttrykk og ikke minst gjennom tale.

Danske folkeskoler har allerede investeret millioner i små robotter, som etter sigende kan lære elevene matematik og engelsk. Slik fungerer det imidlertid ikke, ifølge danske forskere. Det viser seg imidlertid at robotene er svært godt egnet til er å lære elever å kode.

En fysiske verden er ikke ideell, slik som en simulert spillverden, noe som krever en annen tankegang og oppmerksomhet knyttet til hvordan vi tenker omkring problemløsing. F eks er det støy, utfordringer med å få robotens kamera til å observere ulike objekter, vibrasjoner, etc. Løsningene blir dermed sjelden perfekte, det er alltid rom for forbedring og eventuell videreutvikling. Det gjør koding med roboter til et svært godt supplement til skrembasert koding, både for elever som har vanskelig for å konsentrere seg ved ren skjerminteraksjon, men også for elever som trenger utfordringer de kan strekke seg etter.

Roboters faktiske tilstedeværelse gjør at vi kan lage fysiske tillegg til den. Det kan være egne 3D-printede deler, klær, tillegg til robotens omgivelser etc. På den måten kan elevenes ideer omsettes i konkrete sammenhenger, som appellerer på helt andre måter enn hva en kan gjøre kun på skjerm.

Programmerbare roboter bygger bro mellom to skapende univers: det som kan skapes på skjerm og det som vi kan skape med fysiske materialer. En robot står så å si med en fot i hver av disse leirene. Den nye generasjonen Aisoy-roboter får innebygget NFC-leser, noe som åpner for nye bruksmåter, nettopp i møter mellom koding go fysiske omgivelser,

Å arbeide med roboter er en skapende prosess og handler om mye mer enn bare å kode. Koding kan dessuten gjøres på ulike måter som skalerer godt. Blokkeditoren ScratchX gir enkel tilgang til koding, men kan samtidig brukes til avanserte prosjekter.
Programmering er en kreativ måte å jobbe på. Du begynner med det som på mange måter er analogt til et blankt ark, som så kan fylles med kode. Koding er en form for logisk språkliggjøring av det som skal skje, og kan sammenlignes med å skrive innenfor noen gitte regler. På samme måte som noen former for dikt har en bestemt struktur, har koding en syntaks og innebygget logikk som elevene må forholde seg til. Ikke minst når denne kodelogikken blandes med robotens evne til tale blir den språklige sammenhengen tydelig og spennende å jobbe med.

Mye kan oppnås med rimelig teknologi. Aisoy-robotene plasserer seg prismessig (5-6.000 kroner) litt over Lego Mindstorms. Aisoy-robotene kan imidlertid programmeres til å snakke, og har på denne måten egenskaper som langt dyrere alternativer (f eks NAO fra knapt 100.000,– og oppover). Aisoy og Lego kan til sammen fylle alle de egenskapene som det er naturlig å se for seg at en kan jobbe med i grunnskolen.
Koding behøver ikke ende opp med noe spesielt, eller noe som oppfattes som direkte nyttig. Det kan være moro bare å få roboten til å sette sammen og lese egne dikt, jobbe med ulike faktaopplysninger eller fortelle vitser for den saks skyld. Uansett hva en koder er det tilfredsstillende å oppleve sammenhengen mellom koden på skjermen og det roboten foretar seg. 

Koding og programmering minner svært mye om håndverk. Det handler om måter å skape digitale produkter på og er slik sett ikke så forskjellig fra hvordan andre behersker ulike verktøy å maskiner for å forme fysiske materialer. Mange tar etter hvert til orde for de vi kan kalle kodesløyd i skolen, en virksomhet passer svært godt inn sammen med mye av det elevene allerede gjør i kunst og håndverk. Roboter og 3D-printere (som jo også er roboter) er en svært god måte å la det analoge og det digitale møtes.

Mitch Resnick, en av de som står bak programmeringsspråket Scratch, forklarer i et intervju i Edutopia hvorfor han mener at koding bør undervises i alle skoler. Han peker på noen svært vesentlige forhold knyttet til at koding handler om langt mer enn det realfaglige. Koding er først og fremst er en måte å formidle på og elever bør lære koding med hovedfokus på kommunikasjon og formidling:

The first question I would ask is: “Why should we learn coding at all?” Many people embrace coding in schools as a pathway to jobs as computer programmers and computer scientists, and of course they’re right that those opportunities are expanding rapidly. But that’s not a great reason for everyone to learn how to code.

Very few people grow up to be professional writers, but we teach everyone to write because it’s a way of communicating with others—of organizing your thoughts and expressing your ideas. I think the reasons for learning to code are the same as the reasons for learning to write. When we learn to write, we are learning how to organize, express, and share ideas. And when we learn to code, we are learning how to organize, express, and share ideas in new ways, in a new medium.

Resnicks syn på koding i skolen passer godt i den sammenhengen vi har beskrevet: en tilnærming til koding ved hjelp av fysiske roboter med andre egenskaper enn det meste annet som per i dag er tilgjengelig på markedet. Aisoy-robotene kan programmeres til å endre uttrykk og snakke og forstå tale:



Bildet ovenfor er kanskje det ideelle møtet mellom barn og programmerbar teknologi: roboten som både fungerer som en assistent og "lesevenn", men som også kan programmeres ved hjelp av nevnte Scratch.

Det er ikke noe i veien med å programmere spill på skjerm, få en liten elektrisk bil til å bevege seg som en robotstøvsuger, automatisere en enkel mekanisk prosess eller lignende. Det kan være både givende, nyttig og lærerikt. Mitt poeng er imidlertid at denne inngangen til programmering ikke har like stor appell til alle, samt at nettopp talegrensesnitt er noe som er i ferd med å få stor betydning i vår samtid.

I skolen fokuseres det ofte på analyser av eksisterende artefakter, systemer og hendelser. Eksempler kan være slik man i fysikken studerer systemer og setter opp formler for hvordan disse systemene fungerer. Eller dersom man i matematikken løses ferdig definerte oppgaver. Eller for den saks skyld hvordan vi leser og tolker kjente litterære tekster. Slike tilnærminger har absolutt verdi, og kan helt klart kan lede til forståelse, forutsatt at disse aktivitetene settes inn i en sammenheng i dialog med en kompetent lærer. Samtidig kan en med fordel se mer til hvordan artefakter, systemer og hendelser faktisk designes.

Hvem er det som skaper systemene? Hvorfor er systemer designet for å ha noen bestemte funksjoner? Hvem og hva bestemmer forutsetningene for de oppgavene som skal løses? Hvordan formulerers en oppgave for at den skal bli entydig og forståelig?

Koding av roboter i skapende sammenhenger gir anledning til å formulere og løse en lang rekke slike spørsmål av varierende kompleksitet.