Kod, Programmering, Datalogiskt tänkande eller Digital kompetens?

I måndags var jag på ett seminarium om Datalogiskt tänkande i skolan, på Skolverket. Jag tycker det är på sin plats att problematisera lite kring begreppen som vi slänger oss med. Vad är det vi vill att eleverna ska lära sig egentligen? Vi kan börja med att definiera vad begreppen innebär på ett mer semantiskt plan.

Kod: Kod är det som skrivs för att få en dator att utföra något. Att skriva själva koden heter att koda.

Programmering: För att kunna skapa program av kod, krävs en mer omfattande verksamhet än bara själva kodandet. Det gäller att planera kod och skissa upp hur olika delar påverkar varandra till exempel. Att koda är en del av programmeringen, men innefattar problemlösning och skapandet av algoritmer.

Datalogiskt tänkande: För att kunna programmera används datalogiskt tänkande. Det innebär att lösa komplexa problem genom att bryta ner dem till mindre bitar, leta mönster, skapa abstraktioner och skriva algoritmer. Detta kan vi tillämpa vid all form av problemlösning, inte bara programmering.

Digital kompetens: Det här är ett av nutidens mest flummiga begrepp. Vad innebär det egentligen? Det finns en mängd olika definitioner som uttrycks i allt från två till 50 punkter. För mig handlar det om att förstå så mycket av hur tekniken fungerar och hur den påverkar oss, att vi kan tänka kritiskt kring vår egen säkerhet, upplevelse och utveckling av tekniken.

Jag anser att det är det sistnämnda som är det viktigaste, att vi alla blir kompetenta nog att fatta beslut om hur vi vill agera och hur vi vill att samhället ska se ut. Jag vill helst skrota epitetet ”digitalt”. Det handlar om kompetens idag. Det handlar om vårt samhälle. Det är i allra högsta grad en demokratifråga. Om vi inte förstår hur tekniken fungerar, kan vi inte fatta beslut om hur vi vill att den ska regleras. Är det bra med övervakning? Ska anonymiseringstjänster förbjudas? Finns det en fördelar med att staten äger fibern vår information far igenom, eller är det bättre om den kontrolleras av företag? Frågor som dessa måste vi kunna fundera över. Jag menar att vi behöver utbildning på en rad områden för att bli bättre på detta. DET är det viktigaste för mig. Inte att alla kan skriva kod, programmera eller tänka datalogiskt.

Jag tror dock att det behövs kunskaper om att den digitala världen är uppbyggd av kod. Förståelsen för ettor och nollor är lika grundläggande som atomer. Det ger oss verktyg för att förstå verkligheten. Genom förståelsen för hur atomer kan ombildas i molekyler kan vi förstå fotosyntesen. På samma sätt tycker jag att det är lättare att förstå den digitala världen nu när jag vet att kombinationer av ettor och nollor kan betyda olika saker, beroende på sammanhang. Det är kunskap jag kan bygga annan kunskap med.

Här nere finns det fiberkablar!

Jag tror också att vi behöver förstå att den digitala världen är programmerad och vad det innebär i form av begränsningar. I varje programmeringsprocess måste vi göra val. Vi måste reducera information och förpacka en komplex verklighet till kod. I slutändan förstår datorn bara ett eller noll. Inte ett och ett halv. Det försvinner nyanser på vägen. Det är en viktig insikt. En annan viktig insikt är att om allt är programmerat, kan vi påverka utvecklingen. Vi kan bli mer kritiska konsumenter och vi kan även bli egna producenter.

Det datalogiska tänkandet kan leda till bättre förmåga att lösa problem, både generellt och specifikt när det kommer till att få ut full effekt av datorer. Jag tycker det är en intressant idé och det vore intressant att forska på, men i dagsläget har jag inte hittar några vetenskapliga bevis på att det verkligen fungerar så. Att elever som tränar datalogiskt tänkande i flera ämnen, blir bättre problemlösare generellt är alltså en hypotes, som jag inte fått bevisad. Jag vill gärna bli motbevisad här, men i väntan på studier i ämnet, tycker jag inte vi kan gå så långt som att hävda att just datalogiskt tänkande är det vi ska träna i alla ämnen i skolan. Det skadar nog inte med datalogiskt tänkande, det är en bra metod för att lösa problem och strukturera tillvaron, men jag kan inte hävda att vi SKA göra det i skolan, helt enkelt för att det inte finns evidens för det.

Det finns ingen vetenskaplig evidens för att arbeta med programmering i skolan heller. Jag har inga bevis för att förståelsen för ettor och noller leder till demokratiskt mer kapabla människor. Jag tycker dock att det är en aningens mindre påverkan på skolan i allmänhet om vi inför verktyg och faktakunskap, alltså programmeringsverktyg och kunskap om kod, än om vi beslutar om att införa en metod rakt över i alla ämnen. En metod för tänkande och problemlösning kräver mer omfattande studier innan det ska in i skolan.

Transfer: Svårigheten med all undervisning är att se till att eleverna kan ta med sig sin kunskap från en situation till en annan. Det kallas transfer och är bland det svåraste att uppnå i en undervisningssituation. Det kräver oftast explicit undervisning från läraren. Jag har sett det tydligt när jag haft elever som på mina lektioner med lätthet anpassar vinklar i programmeringsmiljön, men som på mattelektionen inte har en aning om vad en vinkel är. Typexempel på misslyckad transfer.

Jag tycker det är viktigt att vi vågar gå framåt. Även om skolan ska bygga på vetenskaplig grund och beprövad erfarenhet, måste vi börja arbeta för att kunna forska på något och få någon beprövad erfarenhet. Det innebär inte att hela skolan ska vara ett enda stort laboratorium. Jag tror att det går att göras klokt.

Mitt förslag är att vi skyndar långsamt. Vi måste prova oss fram och se var vi landar till slut. Om vi börjar smått kan vi se vilka effekter vi får. Vi ska inte införa en massa nytt, som inte tillför våra elever någon nytta. De som bäst kan avgöra om metoder, verktyg och innehåll ger effekt, är lärarna. Därför måste vi få fler lärare med i debatten. Jag saknar faktiskt kollegor att bolla med. Kom igen nu lärare. Ni behövs i diskussionen.