2020 var året da den digitale læringen for fullt inntok de norske skolene. Året da skolene ble stengt av korona, og nye læreplaner ble innført.
Læreplaner som inneholdt en av mine største lidenskaper, nemlig programmering.
Og da året var omme, da statistikk ble dratt ut av databasene, viste det seg at den aller mest delte og besvarte aktivteten i hele 2020 for Gyldendals storsatsning, Skolestudio, var et spill som jeg hadde født.
Robo Rally
Jeg jobbet hos Gyldendal og var med på å utvikle deres nye digitale læringsplattform. Der fikk jeg høre rykter om at programmering skulle inn i skolen fra barneskolen av. Matematikklærere som ikke nødvendigvis kunne programmering fra før av skulle lære dette bort til elever.
Jeg lærte selv å programmere i barneskolealder, og ble veldig ivrig. Her måtte det være noe jeg kunne bidra med! Målet var å få den neste generasjonen til både å lære, oppleve mestringsfølelse, og finne gleden med programmering.
Jeg stotret meg igjennom de første utkastene av læreplanen, og forsøkte å tyde hva som skulle læres. Etter dette begynte tankene å kverne, og idéen begynte å forme seg inne i hodet mitt.
Inspirert fra ting som brettspillet Robo Rally, og et brett fra det “eldgamle” dataspillet The Island of Dr. Brain (som jeg spilte mye i mine yngre dager), utviklet jeg et konsept. Et spill for å lære bort programmering til barn.
Møt Robi
Historien til spillet starter med en liten musemor som ser utover en forurenset verden. Hun vil ikke la de små musebarna vokse opp på et slikt sted, og finner derfor opp den lille roboten Robi.
Spilleren skal hjelpe til med å programmere Robi til å redde verden. Ved å få den til å plukke søppel og kaste det i søppelbøtta.
Man programmerer Robi på et brett som minner om et koordinatsystem, der man kan gi den instruksjoner som “opp” og “høyre”. I tillegg må man passe på at man ikke bruker mer minne enn Robi har tilgjengelig.
Et viktig prinsipp for læring var å kun gi positive tilbakemeldinger. Man kan ikke “bomme” eller miste liv i Robi. Dersom man gjør feil, betyr det bare at man ikke kommer helt fram.
«Det var da jeg skjønte at hvis det skulle bli noe Robi, så måtte det bli på fritiden. Og slik ble det.»
Ble et hobbyprosjekt
Jeg lagde en liten presentasjon som jeg holdt for innovasjonsteamet på jobben. De likte idéen og skulle sette meg i kontakt med matematikkteamet, siden det var her programmering skulle inn i pensum.
Men med fagfornyelsen rett rundt hjørnet viste det seg at ingen hadde tid til Robi. Lista over ting som skulle gjøres til skolestart 2020 var uendelig.
Det var da jeg skjønte at hvis det skulle bli noe Robi, så måtte det bli på fritiden. Og slik ble det.
Jeg jobbet veldig iterativt, og første versjon var veldig simpel. Med jobb på dagen og barn på kvelden, ble det ofte sene dager, og netter jeg satt og programmerte. Men jeg storkoste meg! Gradvis bygde jeg opp funksjonaliteten.
Fant hjelp på jobben
Jeg fant en designer på jobben som hadde litt ekstra tid. Og det viste seg at hun var skikkelig flink til å tegne! Sammen designet vi hvordan Robi skulle se ut. Jeg kladdet ned en introduksjonstegneserie til spillet, og hun tegnet det.
Det var da vi fant prosjektlederen til Robi, at ting virkelig begynte å falle på plass. Jeg fant ut at den gode testeren vår (Vilde Avløs) hadde noen åpne rom i kalenderen sin, og spurte om hun kunne tenke seg å bli prosjektleder.
Det ville hun gjerne, og hun utførte det med glans. Hun tok kontakt med matematikk-teamet, og fikk spillet kvalitetssikret av dem. Tok seg av planer og koordinasjon med designeren. Lagde brett, spilte inn lyd og lagde instruksjonsvideoer.
Nå som man begynte å se et ferdig produkt fikk vi også lov til å bruke arbeidstid på Robi.
Variabluser, rullebånd, kofferter
For å visualisere programmeringen jobbet vi med å lage gode analogier til programmeringskonseptene.
Variabler ble til små, søte lilla vesener vi kalte variabluser. De kunne huske én ting om gangen.
Løkkene ble til rullebånd med instruksjoner på, som ble kjørt én gang for hver runde. En liten variablus husket på hvilken runde man var på, og stoppet løkka når man kom til et bestemt tall.
Vilkår ble til dører som åpnet seg inne i hodet til Robi dersom noe var oppfylt. Funksjoner ble til kofferter man kunne putte instruksjoner inn i. Og man kunne bruke koffertene så mange ganger man ville. Funksjonspekerne var rare vesener som alltid stod og pekte intenst på en bestemt koffert.
Nå utvider kodeleiren kun for jenter: - Handler ikke om politikk, men ren logikk
Egne barn som testere
Underveis testet jeg mye på både barna mine, og deres tilfeldige venner som kom på besøk.
Responsen var veldig god. Det var tydelig at et spill vekket mye større interesse for et tema enn å regne ut oppgaver på ark. Gjennomgående syntes de det var et innbydende spill, og var interessert i å løse brettene.
Et høydepunkt var da min yngste datter løste det første brettet med vilkår på første forsøk. Kun etter å ha sett instruksjonsvideoen vi hadde laget!
Vi delte Robis verden inn i planeter som tok for seg forskjellige temaer. På slutten av hver planet fikk eleven en slags belønning. Etter å ha løst den andre planeten fikk de høre Robi-sangen. Dette var en sang jeg og døtrene mine hadde laget sammen. De fikk betaling for arbeidet i Minecraft coins.
Alle måtte bidra
Uheldigvis sluttet designeren vår underveis. Vi hadde fortsatt store planer å gjennomføre, og lurte veldig på hva vi skulle gjøre.
Men kom fram til at dersom det skulle bli til et ferdig produkt, måtte vi bare fikse det selv. Så jeg begynte å tegne. Jeg kjøpte meg et tegnebrett, og etter diverse Domestika-kurs og Youtube-videoer tok jeg over tegning av all ny grafikk selv.
En annen på teamet vårt var glad i å lage musikk, og han lagde bakgrunnsmusikken. En tredje la til tastaturstøtte. Etter hvert hadde alle på teamet bidratt med Robi i en eller annen form. Enten det var code review, testing, fiksing av kode eller andre ting.
Robi ble en slags maskot for teamet, og scrum masteren vår fikk printet opp t-skjorter og handlenett med Robi på. I tillegg til at jeg tegnet personlige Robi-kopper til alle på teamet.
Tar inn videregående-dropouts til utvikler-utdanning
Lagde RobiScript for blinde
Vi hadde for lite fokus på tilgjengelighet da Robi ble startet opp, og var veldig i tvil om hvordan vi skulle løse det.
Det var ingen grunn til at en blind person ikke skulle kunne programmere Robi på lik linje med en seende. Vi endte opp med å tenke helt nytt, og bytte ut de grafiske komponentene.
Vi lagde en full tekstversjon av spillet. Med et design som er inspirert av gamle MS-DOS-programmer. Her bruker man ikke lenger drag-and-drop for å gi instruksjoner, men skriver heller inn koden.
Til det enkle, selvlagde programmeringsspråket RobiScript. Vi vurderte å bruke et eksisterende et, men kom fram til at det var viktigere å ha et veldig enkelt språk for å lære konsepter, enn å lære en syntaks man kunne ha bruk for senere.
Fortsatt på førsteplass
Til skolestart 2020 var Robi ferdig med to forskjellige verdener.
Skogplaneten Alfa der man lærte grunnleggende instruksjoner, og vannplaneten Beta der man lærte løkker (for-løkker). Vi har i ettertid lansert ørkenplaneten Gamma der man lærer om vilkår (while-løkker). En fjerde planet der Søplekongen bor er på vei, der man skal lære om funksjoner.
Prosjektlederen har fått blod på tann, og er i full gang med en deltidsutdannelse innen frontendutvikling. Hun har committet sin første kodefiks i systemet vårt, og er dermed den første utvikleren som begynte sin programmeringskarriere med Robi!
Vi har fått veldig god respons på Robi. Etter at det første året var over, sjekket vi hvor mye det var blitt brukt. Det viste seg å være den aktiviteten i Skolestudio som flest lærere hadde delt ut som lekser til elevene sine. I tillegg var det den aktiviteten som hadde lagret flest elevsvar.
Vi tok nylig ut ny statistikk, og jammen er Robi fortsatt på førsteplass!