Hoppa till huvudinnehåll

Demokrati drivkraft för programmering

Mjukvara ligger bakom den största samhällsomvandlingen genom tiderna, och det är de som är barn idag som ska forma framtidens samhälle. Skillnaden är stor mellan att enbart vara en passiv it-konsument och att själv kunna skapa programkod. Den som förstår hur datorer och program fungerar, får ett helt annat perspektiv på den digitala utvecklingen. Det menar Björn Regnell, professor i datavetenskap på LTH.

– Publicerad den 27 februari 2015

I måndags gav han en presentation för den pedagogiska personalen på Tunaskolan (F-9) i Lund om varför det är viktigt att alla lär sig grunderna i programmering. Det här var starten på en satsning som går ut på att efterhand försöka föra in programmering och datalogiskt tänkande i alla ämnen, på alla nivåer.

Björn Regnell och hans kollega Sandra Nilsson ägnar sedan tre år tillbaka delar av sin arbetstid åt att undervisa lärare och elever i programmering på Vattenhallen Science Center. Projektet Programmering för alla är en del av universitetets arbete med tredje uppgiften, det vill säga att samverka med resten av samhället och att förmedla aktuell forskning till allmänheten.

- Björn hörde av sig till oss i höstas och föreslog ett samarbete, berättar Anders Erenius, som är ikt-strateg på Tunaskolan. Vi nappade förstås direkt!Institutionen för datavetenskap ligger bara hundra meter från skolan. Där finns mängder med kunskaper och erfarenheter som vi kan dra nytta av nu när vi utvecklar undervisningen med hjälp av it.

Det har länge funnits röster i den utbildningspolitiska debatten som vill att alla elever ska lära sig programmering i skolan, och de allra senaste åren har de blivit allt starkare. Den pågående digitaliseringen av samhället, som innebär att i stort sett all verksamhet börjar bli beroende av datakod och mjukvara, är förstås ett viktigt skäl till detta. Därför är det nödvändigt att vi på allvar diskuterar varför programmering är viktigt i skolan, konstaterar Björn Regnell.

- I England, som är ett av de länder i EU som har programmering på schemat, är det främst tillväxtargumentet som gäller. För att näringsliv och ekonomi ska kunna utvecklas, krävs det många duktiga programmerare. Samma argument fördes fram för ett par veckor sedan när Stockholms stads finansborgarråd, vd:n för Stockholms Handelskammare och ordföranden för Spotify skrev en artikel om behovet av programmering på schemat på DN Debatt. Ekonomi och tillväxt har förstås jättestor betydelse i samhället, men det får ändå inte skymma det allra viktigaste: demokratiargumentet.

Mjukvara ligger bakom den största samhällsomvandlingen genom tiderna, och det är de som är barn idag som ska forma framtidens samhälle. Skillnaden är stor mellan att enbart vara en passiv it-konsument och att själv kunna skapa programkod. Den som förstår hur datorer och program fungerar, får ett helt annat perspektiv på den digitala utvecklingen, betonar Björn Regnell.

- Mystiken kring datorer, it och Internet försvinner. Man inser att det i grunden handlar om beslut som fattas av människor – och som kan påverkas och förändras. Därför menar jag att det är avgörande att programmering och datalogiskt tänkande blir en del av skolans undervisning. Idag är det en väldig obalans mellan olika grupper i samhället när det gäller kunskaper inom det här området. Det duger inte om vi verkligen vill ha ett demokratiskt samhälle där alla kan vara med och påverka.

Genom att arbeta med programmering kan det bli enklare för eleverna att utveckla kunskaper och färdigheter som behövs i många olika sammanhang. Bland annat handlar det om att tänka logiskt, att tänka steg för steg, att tänka i abstraktioner och att själv kunna konstruera abstraktioner. De lär sig också värdet av att skriva exakt: när man skriver programkod påverkar allt som skrivs hur programmet fungerar. Samtidigt stimuleras fantasi och kreativitet och eleverna tränas i att samarbeta, att förklara för varandra och att lära av varandra, påpekar Björn Regnell.


CC BY-SA 2.0 Rodrigo Mesquita

- Redan 1967 deltog lärandeteoretikern Seymour Papert i skapandet avprogramspråket LOGO. Syftet med det var att hjälpa barn att utveckla kreativitet och problemlösningsförmåga. Papert har en konstruktivistisk syn på lärande: genom vårt eget skapande konstruerar vi mentala modeller för att förstå vår omvärld. Här kan vi lägga till den sociala dimensionen: genom att samarbeta med andra förändrar vi varandras perspektiv och utvecklar nya kunskaper och ny förståelse.

Det är bra om programmering och datalogiskt tänkande kan bli ett eget ämne på grundskolan, men det är inte nödvändig. Det finns stöd i läroplanen som gör det möjligt att sätta igång direkt, menar Björn Regnell.

- I kapitlet om grundläggande värden slås fast att skolan vilar på demokratins grund. Och just demokratiargumentet är ett avgörande skäl för mig när det gäller programmering i skolan. Dessutom är elevernas skapande arbete och lek viktiga delar av skolans uppdrag. Elevernas kreativitet, nyfikenhet och självförtroende ska stimuleras och de ska uppmuntras att pröva egna idéer och lösa problem, både på egen hand och tillsammans med andra.

Även i läroplanens kapitel om kunskaper och i riktlinjerna finns det en hel del att knyta an till, säger Björn Regnell.

- Eleverna ska lösa problem och omsätta idéer i handling på ett kreativt sätt. De ska också lära, utforska och arbeta självständigt och tillsammans med andra och känna tillit till sin egen förmåga. Det sägs också att de ska lära sig att använda modern teknik som ett verktyg för kunskapssökande, kommunikation, skapande och lärande. Och riktlinjerna pekar på värdet av att arbeta ämnesöverskridande. Det är viktigt eftersom programmering både kan användas för att levandegöra ämnesundervisningen och för att integrera olika ämnen.

Programmering för alla har tre övergripande mål:

  1. Tröskeln ska vara låg, så att det är enkelt att komma igång.
  2. Lärare och elever ska arbeta med ett riktigt programspråk som inte har något tak och som kan användas i verkligheten utanför skolan.
  3. Verktygen ska vara byggda med öppen källkod som alla intresserade kan utveckla och bygga vidare.

Många skolor runt om i världen använder det visuella programspråket Scratch, en spännande satsning från forskargruppen Lifelong Kindergarten på MIT som bygger vidare på Seymour Paperts tankar. Björn Regnell valde att inte arbeta med Scratch, eftersom det inte uppfyller samtliga tre mål.

- Scratch har en låg tröskel och det bygger på öppen källkod, men det kan inte användas i verkliga sammanhang. Det är anpassat för skolan och det finns ett tak som inte går att passera. Därför har vi istället valt att användaprogramspråket Scala och utvecklingsmiljön Kojo, som uppfyller samtliga mål. I likhet med Scratch, finns de på svenska.

Scala är ett modernt och kraftfullt programspråk som bygger på det allra senaste inom dataforskningen. Det rör sig om ett globalt projekt, finansierat med utvecklingsmedel från EU, som leds av Martin Odersky på EPFL i Lausanne. Scala har bland annat kommit till nytta i utvecklingen av Twitter, Linkedin och Netflix.

Även Kojo är ett globalt projekt. Det leds av Lalit Pant, som driver företaget Kogics i Indien. Här bidrar Lunds tekniska högskola med finansiering och hjälp med översättning och kodning.

Det finns redan några exempel från skolor i andra delar av landet där lärare och elever arbetar med Scala och Kojo, berättar Björn Regnell.

- Svenskläraren Karin Nygårds på Sjöstadsskolan i Stockholm är nog det mest välkända svenska exemplet på hur man kan arbeta med programmering i skolan. Hennes undervisning i digitalkunskap pekar i intressanta riktningar. Ett annat utmärkt exempel är Halmstads kommun, där flera förskolor och skolor är igång med programmering och datalogiskt tänkande.

Visionen för samarbetet mellan Lunds tekniska högskola och Tunaskolan är att lärarna tillsammans ska utveckla öppna lärresurser inom och över ämnesgränserna som visar programmeringens pedagogiska möjligheter. Dessa kan sedan användas av lärare på andra skolor och på så sätt kan utvecklingen föras vidare. Ett sätt att sprida lärresurserna kan vara att använda Lärarspindeln. Formella och informella samarbeten i det utvidgade kollegiet är också möjligt.

Lärarna behöver inte vara experter på programmering för att sätta igång, säger Anders Erenius.

- Det viktiga är att de tar fram goda idéer om hur programmering kan användas och att de provar dem i verkligheten. Jag, Björn och Sandra hjälper gärna till med det tekniska. Vi har även elever som är duktiga teknikanvändare och som redan idag fungerar som lärspridare och stöd i undervisningen. Flera av dem är kunniga i programmering och de kan också vara till hjälp.

Tröskeln är låg och det krävs inte mycket för att komma igång. Nästa steg är däremot svårare, avslutar Björn Regnell.

- Här är det kollegiala lärandet avgörande! Lärarna måste visa och inspirera varandra och hjälpas åt att komma vidare med den pedagogiska användningen. Lyckas de med det, kan programmeringen göra det lättare att uppnå flera av läroplanens centrala mål. Jag ser fram emot det fortsatta samarbetet med tillförsikt!

Stefan Pålsson

Fotnot: Texten publicerades ursprungligen på Skolverkets webbplats Omvärldsbloggen: http://omvarld.blogg.skolverket.se/2015/02/26/programmering-for-alla-pa-tunaskolan-i-lund/