Programmering för skolbarn – en dålig idé

Det finns en ny idé bland politikerna där ute: nu skall alla barn redan i lågstadiet lära sig programmering. Tanken är väl att detta skall skapa en ny generation som enkelt fixar internationella succéspel som Rovios Angry Birds, och att detta skall lyfta Finland ur den ekonomiska kräftgången och skapa nya  ”framgångssagor” – likt Nokia i tiden.

Jag har kommit fram till att man inte i detta fall kan avse riktig programmering. Programmering är nämligen svårt, även för vuxna, och kräver alldeles speciella personliga egenskaper, som de flesta av oss inte har. Så förutom den grundläggande frågan vem som egentligen skall börja lära ut programmering till barnen (det finns inte så många som kan den konsten), kan man alltså komma med följande tunga invändningar mot hela denna – åtminstone på ytan – mycket dumma idé:

Det går inte att lägga den nya programmeringsuppgiften på mattelärarna. Det är visserligen nödvändigt att en programmerare behärskar matematik (egentligen: behärskat ett algoritmiskt tankesätt och formell logik), men för att skriva elegant och användbar programkod krävs också en stark språkkänsla, och förmåga att formulera problem och olika sätt att lösa dem. Modersmålslärarna? Gymnastiklärarna? Den filosofiska debatten har fortgått sedan datorerna började användas, men de flesta är ense om att programmering är en blandning av formella färdigheter, ingenjörskonst och skapande verksamhet.

Programmering till och med i de enklare programmeringsspråken som Ruby är svårt. Testa här Ruby interaktivt. Riktigt roligt och intressant, men för lågstadiebarn?

Lite programmering i Ruby

Eller ladda ner (gratis) Apples SDK XCode med det nya, ”enkla” programmeringsspråket Swift, och försök skapa ett enkelt program för din iOS-telefon. I videoklippet nedan är vi alldeles i början av CodeWithChris.com kurs ”Hur göra appar, för nybörjare” avsedd för personer utan tidigare programmeringserfarenhet”. Klart som korvspad – speciellt för lågstadieelever?

Jag kan inte förstå detta senaste politikerprojekt som något annat än att politikerna totalt blandat ihop begreppen programmering och kodning. Någon har kanske gått en liten kurs i hur man kodar webbsidor, och därefter trott att det varit fråga om ”programmering”.

Kodning av webbsidor i sin enklaste form är verkligen enkelt, och man ser omedelbart resultaten. Vill jag till exempel ha fetstil sätter jag i html-koden bara <bold> (eller <b>) framför orden där jag vill att fetstilen börjar, och </bold> där jag vill att fetstilen tar slut. Till och med mer avancerad formatering med css-stilar skulle kanske lågstadieelever kunna lära sig. Men viktigt: det har inget med programmering att göra, och lär inte ens ut de begrepp eller tänkesätt som behövs i riktig programmering. Samma gäller till exempel att med barnen testa några Excel-funktioner: alldeles nyttiga att kunna, men har inget med programmering att göra.

Eller så förenklar vi det verkligen, och gräver fram t.ex. våra gamla Commodore 64-kunskaper i Basic:

Jag var i högstadieåldern ganska bra på att skriva in långa Basic-listningar, och det är alldeles roligt, men någon relevans för riktig programmering har det förstås bara i mycket begräsnad omfattning idag. Och fortfarande handlar denna sorts verksamhet inte om att lära ut de tänkesätt och begrepp moderna programmeringsverktyg kräver. Det blir alltså inte fråga om annat än tidsslöseri.

Nu finns två vägar framåt:

  1. Börjar man på allvar lära ut programmering till lågstadieelever kommer det i bästa fall att leda till att några enstaka elever ”tänder” på grejen, och intresserar sig för att gå vidare på programmeringsbanan. Sannolikheten är dock stor att de skulle ha gjort det helt oberoende. I värsta fall leder det till stora frustrationer på båda sidorna av lärarkatedern: en hop lärare skall lära ut programmering utan att kunna det, och lektionerna kommer att orsaka mycket stora frustrationer hos de små elever (de flesta) som inte har förutsättningar att bli programmerare.
  2. Börjar man lära ut enklare webbkodning eller Excel-funktioner kan man säkert sänka tröskeln för att ”våga” göra något med datorn, och skapa entusiasm hos barn som ser att de kan påverka vad datorn gör. Lite mer avancerat kan man tänka sig att lära ut ett algoritmiskt tänkande med verktyg som Scratch. Riktigt bra, och kan rekommenderas. Men då skall man inte tala om att lära ut programmering, eller att det är samma sak som att göra ett spel som Angry Birds. Då lurar man bara barnen, och att lura barn är något man aldrig borde göra. Viktigast är att entusiasmera någon som har de rätta anlagen att pröva på.

Lite mer om programmering, på Wikipedia.

2 tankar kring ”Programmering för skolbarn – en dålig idé

  1. Håller inte alls med ej här. Tycker alla borde lära sej åtminstone grunderna i kodning, och mycket bra att lära sej det speciellt i lågstadiet.
    hälsar Johanna

  2. Du har inte läst mitt inlägg ordentligt. Det är ju precis det jag säger: träna gärna lite kodning, men lura inte någon att tro att det är "programmering".
    Det är alldeles tydligt att politikerna inte vet skillnaden. Det är tyvärr helt omöjligt att lära småbarn programmering – inte ens "grunder". Pröva gärna exemplen jag gett ovan.

Kommentarer inaktiverade.