De lär sig koden till den nya världen

I framtiden blir det basic att kunna programmera. Nu kräver lärare att kodspråk läggs in i läroplanen – annars kommer de att hacka den.

Text: Peter Ottsjö

Risken är stor att du snart kan klassas som analfabet.

Fast det är väl ändå inte möjligt? Du läste ju precis första raden i den här texten. Utan att ens tänka på det granskade du dess grammatik, ordföljd och innebörd. Möjligen förstod du inte provokationen, men det torde ju vara skribentens fel, inte ditt.

Nå.

迷ってしまいました。

Det där är japanska och betyder ungefär ’jag har gått vilse’. Föreställ dig att du en dag vaknade upp i en värld där alla utom du talade japanska. Där varenda tidning, tidtabell och reklamskylt bestod av japanska tecken. Vem skulle du vara i det samhället, berövad förmågan att läsa, skriva och tala?

Det finns anledning att fundera över den frågan, eftersom vi redan lever i ett samhälle där majoriteten inte förstår språket. Det handlar då inte om japanska, utan om det digitala språket. Trots att språket i den digitala världen bygger på tecken och ord som de flesta med kunskaper i ”naturliga” språk känner igen, förefaller dess sammansättning och innebörd för många helt obegriplig. Låt oss ta ett exempel:

class HelloWorldApp {
public static void main(String[] args) {
System.out.println(”Hello World!”);
}
}

Raderna består av kod i Java, ett av de vanligaste programmeringsspråken. De kan verka lika otillgängliga som japanskan. Just detta program låter datorn hälsa till dig genom att skriva: ”Hello, World!”. Så har plötsligt en kommunikation mellan människa och maskin upprättats.

Varje pryl som har en mikroprocessor – en laptop, en smart telefon, ett kylskåp – kräver ett program för att fungera.

Ett programmeringsspråk består, liksom de naturliga språken, av en grammatik och ett lexikon. Men till skillnad från språk mellan människor är programspråket exakt, statiskt och uttömmande.

En förutsättning för att det ska fungera är alltså att språkets syntax är oklanderlig. Syntax har här samma betydelse som i alla mänskliga språk. Det handlar om hur orden (i lexikonet) grammatiskt fogas samman till större enheter – som fraser och satser. Satserna i kodspråket måste vara korrekt uppbyggda för att kunna tolkas. Om man missat en parentes eller ett semikolon visas det försmädliga meddelandet Syntax error!

Ta en titt på koden igen:

class HelloWorldApp {
public static void main(String[] args) {
System.out.println(”Hello World!”);
}
}

Med symbolord som ”class”, ”void” och ”main”, med hakparenteser och variabler som ”System.out” förklarar man för datorn vad som ska göras, vad den måste ta hänsyn till och i vilken ordning den ska ta itu med uppgifterna.

Många är de som vittnat om aha-upplevelsen första gången de kört ”Hello, World!”-programmet. De har öppnat dörren på glänt till möjligheterna, och skymtat sambandet mellan det som just hänt på skärmen och de senaste 20 årens digitala revolution.

Vad finns egentligen bakom mikrobloggen Twitter, där varenda internetansluten medborgare nu kan agera reporter var den än befinner sig? Svaret är: kodrader. Vad finns bakom Facebook, som förändrat den sociala samvaron mellan människor? Kodrader. Bakom Spotify, Itunes, The Pirate Bay, Airbnb, Amazon? Kodrader. Vad finns bakom Minecraft, det svenska datorspel vars bolag Microsoft nyligen förvärvade för svindlande 18 miljarder kronor? Skaparen Markus Perssons alldeles egna kodrader, komponerade hemma framför datorn. Vad finns bakom NSA, den amerikanska federala myndigheten som ägnar sig åt storskaligt globalt spioneri? Stulna kodrader. Och vad finns bakom hackerattacker mot myndigheter och multinationella bolag? Kodrader, som vi ibland kallar skadliga eller manipulerade.

För tusen år sedan fanns inte ordet analfabetism. Enligt Nationalencyklopedin dök det upp i svenska språket år 1950. Även om skriftspråk i olika former har existerat åtminstone sedan hieroglyferna omkring 3000 f.Kr., var det länge bara en begränsad klick människor som kunde läsa och skriva.

När Vilhelm Erövraren skulle beskatta engelsmännen år 1086 lät han upprätta ett slags medeltida version av folkbokföringen, den så kallade Domedagsboken (läs mer om den på sidan 26). Då hade man insett att det skrivna dokumentet gav en svårslagen möjlighet till både kommunikation och lagring av information. I takt med att boktryckarkonsten utvecklades spreds ordet, bokstavligt talat, över världen.

”Den som inte kunde läsa blev snart omdefinierad som analfabet, och makten omfördelades till den som kunde”, skriver Annette Vee, som forskar om datorspråkskompetens vid University of Pittsburgh, USA. ”Precis som läs- och skrivkunnighet hjälpte människan navigera i en värld full av texter, så kan programmering hjälpa människan navigera i en värld full av kod.”

Basic är ett programmeringsspråk som skapades av matematikerna John Kemeny och Thomas Kurtz. I år fyller det 50 år. John Kemeny har sagt att läs- och skrivkunnighet i programmeringsspråk kommer att krävas i framtiden: ”Inte bara som krav vid en eventuell anställning, utan också möjligen för att över huvud taget överleva.”

– De som förstår, de som kan detta, de driver utvecklingen, säger Karin Nygårds, lärare vid Sjöstadsskolan i Stockholm. Framtiden och dess utveckling är inte förutbestämd utan avgörs av den som driver utvecklingen. Om det då är en väldigt begränsad del av befolkningen som förstår och greppar kodspråket, ja, då får vi andra bara hänga med.

Karin Nygårds betonar att det i dag är män, en ganska homogen typ av män, som håller på med programmering.

– Det är en avgränsad grupp, vilket är otroligt allvarligt. Alla ska inte programmera, men alla ska förstå att samhället bygger på kod. Därför måste detta in i skolan.

Här finns en viktig poäng. Man behöver inte vara programmerare för att förstå vad man skulle kunna skapa med kod. Zlatan Ibrahimović är en av världens bästa fotbollsspelare, och kan både läsa och skriva. Men till sin självbiografi tog han hjälp av David Lagercrantz, en författare skicklig nog att överföra Zlatans person till text. Zlatan hade säkert koll på hur slutresultatet skulle komma att bli – en kritikerkramad och kommersiell succé – redan innan matchen spelats, men tog hjälp av ett proffs för att vinna. David Lagercrantz kan på det viset liknas vid programmeraren, medan Zlatan är den som förstår vad man kan göra med kod.

Det är också Annette Vees poäng: hon påpekar att vi kanske inte saknar programmerare, utan just folk som förstår kod.

Men i Sverige saknar vi nog både och. Larmrapporterna om ungdomsarbetslösheten har avlöst varandra de senaste åren. I dag är massor av unga utan arbete. Samtidigt visar en färsk landsomfattande studie, som gjorts på uppdrag av IT-gymnasiet i Göteborg, att sju av tio svenska IT-chefer har problem att hitta rätt kompetens. Lika många tror att det kommer att vara lika svårt om fem år.

Arbetsförmedlingens rapport ”Var finns jobben?” visar att det kommer att vara besvärligt att rekrytera personal till IT-tjänster under de närmaste tio åren. Almega, den största förbundsgruppen inom Svenskt näringsliv och Myndigheten för yrkeshögskolan pekar på samma sak.

”Samtidigt som så många ungdomar vill ha jobb, så har Spotify och många andra av Sveriges ledande IT-företag svårt att hitta duktiga programmerare”, noterar Johan Wendt, grundare av Mattecentrum, och Martin Lorentzon, styrelseordförande i Spotify, i en debattartikel i Svenska Dagbladet.

De tycker att kombinationen av lediga jobb och arbetslösa unga är frustrerande.

Det här problemet är naturligtvis inte unikt för Sverige. EU-kommissionären Neelie Kroes har påpekat att kodning är den nya läs- och skrivkunnigheten, och i ett tv-tal sent i fjol vände sig den amerikanske presidenten Barack Obama direkt till sina unga medborgare: ”Nöj dig inte med att köpa det senaste tv-spelet, gör ett på egen hand. Ladda inte bara ner den senaste appen, hjälp till att designa en. Spela inte bara på din telefon, lär dig programmera.”

Men Sverige har lutat sig tillbaka. Här finns ju redan datorer och surfplattor i skolan. Dessutom använder 86 procent av befolkningen en smart telefon och 89 procent har internet hemma.

Det finns inget behov av en nationell IT-strategi för skolan, hävdadeutbildningsminister Jan Björklund (FP), innan han i elfte timmen av sin ministergärning gav Skolverket i uppdrag att ta fram just en sådan.

– Jan Björklund verkar ha levt på en annan planet, säger Karin Nygårds. Han har bland annat sagt att det inte finns någon brist på IT-kompetens i Sverige.

Hon får medhåll av Christine Kastner Johnson, utbildningsdirektör på IT- och NTI-gymnasiet.

– Utbildningsdepartementet har varit ointresserat. Men det som står i läroplanen i dag räcker inte. Det är sant att vi har datorer i skolorna, men eleverna lär sig inte använda dem. De lär sig ingenting om kodning. Barnen är passiva användare, inte aktiva, och det senare kommer att krävas i framtidens samhälle.

Christine Kastner Johnson framhåller dessutom att skolan har ett kompensatoriskt uppdrag: alla elever ska ha samma förutsättningar.

– Men när det gäller digital kompetens hänger det på vem som är huvudman, på rektorns och lärarnas kunskap och på vilken bakgrund barnet har. Det är väldigt olika villkor.

Christine Kastner Johnson vill reformera rektorsutbildningen, förtydliga läroplanen och kräver ett nationellt gymnasieprogram där IT får spela en central roll.

– Vi lär oss svenska, engelska och tyska, men varför lär vi oss inte kodspråken C++ eller Java? För många lärare är den frågan provocerande, för de kan inte själva kodspråk.

Lärarnas och rektorernas kunskapsnivå är alltså ett av huvudproblemen. Eleverna kan mer än de, men ändå inte tillräckligt. I dagens rektorsutbildning finns inte digitalisering med alls. I lärarutbildningen finns den som en frivillig kurs.

På så sätt ligger Sverige redan efter Vietnam, Kina, Indien och Estland. Under hösten har Storbritannien infört programmering som obligatoriskt skolämne. Utmaningen för den svenska skolans beslutsfattare är att den digitala utvecklingen inte tänker vänta på delbetänkanden, nationella IT-strategier och politisk konsensus.

Och medan skolresultaten sjunker som en sten försöker ideella organisationer och storbolag kasta ut livbojar till nästa generation.

Irländska initiativet Coderdojo finns i sex svenska städer, och har fått stöd av Spotify. Denna svenska musikjätte har också lanserat Kodcentrum, ett landsomfattande projekt som ska ge gratis utbildning i programmering. Målsättningen är att de ska ha utbildat 100 000 barn fram till 2020.

Under ledning av Christine Kastner Johnson har IT-gymnasiet – med affischnamn som SVT, spelföretaget King och vetenskapsmuseet Tom Tits – kampanjat under parollen ”Framtidens språk”.

Karin Nygårds stöder också kampanjen. På bara något år han hon blivit ansiktet och rösten för hela den gryende kodrörelsen, så till den grad att sajten Computer Sweden utsåg henne till en av de 50 mäktigaste kvinnorna i IT-Sverige. Hon har bestämt sig för att ”hacka läroplanen”, och har på eget bevåg börjat utbilda sina elever i programmering.

– Jag är kanske dum nog att skita i vad andra tycker. För mig är det obegripligt att detta är så bortglömt. Det är väl självklart att vi måste förstå den digitala världen, när vi ägnar så mycket tid åt den.

För henne innebär ”hacka läroplanen” att man bereder plats åt digitaliseringens konsekvenser i de ämnen som redan finns.

– Läraren i samhällskunskap kan lära sig kod för att förstå övervakningsproblematik eller hur internet styrs. Det är en ny aspekt, helt enkelt, och det måste man som samhällskunskapslärare behärska.

Att läraren själv inte kan koda är ingen ursäkt, menar hon. Man kan inte undervisa i samhällskunskap om man bortser från det digitala samhället.

– Föreställ dig att en lärare meddelar sina nya elever att ”i den här klassen blir det inget om landsbygden, för det området kan inte jag. Jag vill bara prata om städer”. Det skulle ju vara helt befängt. Digital kompetens ska vara en naturlig del av allmänbildningen, det borde vara en självklarhet efter 20 år med internet.

Programmeringsspråk och kod har lett till nya, oanade samförstånd mellan Karin Nygårds och hennes elever. En av dem hade aldrig förstått poängen i att dela upp meningar med punkt och stor bokstav på svensklektionerna. Det gick upp för honom först när han fick öva i programmering. ”Karin”, ropade han, ”den gör inte som jag säger. Varför fungerar det inte?”

– Han hade stavat fel. Jag förklarade för honom att datorn inte tolererar minsta språkliga misstag. Jag sa att vi människor är lite mer sofistikerade, och förstår avsikten lite bättre. Då fattade han plötsligt vad jag menade med stor bokstav och punkt. Det var så vi hittade vår kommunikation.

Ett seminarium i Almedalen i somras handlade om IT och undervisning. Internet Worlds chefredaktör Magnus Höij öppnade debatten med att citera Mark Twain: ”Jag lät aldrig skolan stå i vägen för min utbildning.” Förutom att man kan tvivla på om Mark Twain någonsin sa så, är kanske den kärnfulla formuleringen i behov av en uppdatering: ”Trots skolan blev jag inte analfabet.”

Peter Ottsjö är frilansjournalist som mestadels skriver om tv-spel i Aftonbladet och spelmagasinet Level.

4 kodknäckare

På ideellt drivna Coderdojo lär sig barn och unga datorernas eget språk.

Christer Nilsson, mentor: Redan för 32 år sedan var jag med på ett dataläger på Barnens Ö, men först på senare år har det verkligen börjat bli intressant. På Coderdojo försöker vi täcka upp de stora luckor som finns. Målet är att visa ungdomarna möjligheterna med att lära sig programmera.

Neo Wakman, 11 år: När man kodar skriver man in kommandon i datorn för att det ska hända olika saker. Det roligaste är att programmera spel som andra sedan kan spela. Jag skulle vilja att man lärde sig koda i skolan, men då måste det nog vara på en ganska avancerad nivå. Det skulle i alla fall vara bra att kunna om man vill jobba med att göra program eller spel i framtiden.

Svea Lidbo, 10 år: Att lära sig koda är som att lära sig ett språk. Vi har våra språk, som svenska och engelska, djuren har sina språk och datorerna har sitt språk. I svenska kan man prata om allt möjligt men på kodspråk säger man bara ”du ska” och bestämmer vad datorn ska göra. Det är det enda man kan säga. Man är som en förälder som bara säger ”du ska, du ska” till datorn hela tiden.

Hugo Anthony, 11 år: Kodspråken är ganska lika vanliga språk. När vi kodar är det med engelska eller svenska ord, men sedan är det en massa andra symboler också. Det måste vara så för att datorn ska förstå. Alla symboler ska in på precis rätt ställe, man måste vara jättespecifik när man skriver kod. Skriver man minsta lilla fel händer ingenting. 

Så föddes programspråken

Ett av de första programspråken – Plankalkül – formulerades av tysken Konrad Zuse, mellan 1943 och 1945. Det var samma man som också designade den första programstyrda räknemaskinen, det vi i dag kallar dator. Men Plankalkül fick aldrig något stort genomslag.

Det fick däremot Basic, som premiärkördes 1964. En av förklaringarna bakom succén kan man ana i dess fullständiga namn, Beginner’s All-purpose Symbolic Instruction Code. Det skulle vara basic, helt enkelt. När mikrodatorn uppfanns på 1970-talet banade den väg för 1980-talets hemdatorboom – och Basic blev ett första språk för alla entusiastiska källarkodare.