Elever lär sig bäst när de är motiverade.
Forskning sedan lång tid tillbaka visar att det förhåller sig så. Ändå pratar vi ibland i skolan om att ”allt måste inte vara roligt”. Men det måste det. Roligt som i lika med engagerande. Inte alltid som i lika med clownnäsor på. Men engagerande.
Många av eleverna är djupt engagerade i onlinespel. Fler och fler av dem sysslar med ett stort mått av skapande i dessa spel, till exempel i Minecraft. Och många av dem kliar sig i huvudet för att själva komma på hur de ska göra för att skapa egna spel. Någon frågar rektorn, som frågar IT-pedagogen, som frågar programmerare. De vill verkligen lära. Men hur? Det är svårt att programmera. Jag har skrivit om det förut och tipsade då om Breadcrumb som en väg att förstå programmeringstanken.
Det jag får som svar när jag frågar om hur man ska ta de första stegen är: Börja enkelt. Programmering är svårt. Lär dig hur ett spel är uppbyggt. Kika på kod, mixtra i befintlig sådan och se vad som händer. WordPress är bra att börja med. Där går det att se hur sidor är uppbyggda, hur widgetar fungerar och sedan kan man testa att skapa något liknande.
Men det finns mer.
Scratch har en del av er kanske provat. Ugglemamma har gjort en bra och lättförståelig instruktionsfilm om det:
Idag hittade jag Squeak Etoys på Squekland.org. Det är gratis och finns att ladda ner för både Mac och Windows. På deras sida kan man läsa om hur elever kan bygga upp en animerad berättelse och samtidigt förstå tanken bakom programmering. Detta samtidigt som deras självkänsla byggs upp: Jag vill något, jag lär mig något, jag förstår, jag kan! I One laptop per child, projektet där man utrustar barn i världens fattigaste delar med datorer, används Squeak Etoys.
En annan programmeringstjänst är Pharo där man också lär sig vad olika kommandon får för inverkan på det man programmerar. Här finns en instruktionsfilm som visar lite vad det handlar om:
Programming with live objects from Laurent Laffont on Vimeo.
En sak som jag hittade i min jakt på programmeringstjänster och som jag verkligen blev intresserad av personligen, var OpenSophie. Det är en tjänst där man kombinerar text, ljud, film och bild och där man kan göra en egen e-bok. Man drar och släpper obejkt, markerar ord och lägger in kommandon för att få saker att hända. har man arbetat med att förstå script-programmering, förstår man lättare hur man ska göra olika kommandon. Det här måste jag testa!
På AidaWeb kan man också lära sig att programmera med språket SmallTalk. Det verkar inte vara lika intuitivt som de andra tjänsterna, men ändå inte för svårt för att man ska kunna klura ut hur det fungerar. Även denna gratistjänst finns att ladda ner för både Mac och Windows.
Uppdaterat: Paul Belfrage tipsar om Alice för lite äldre elever. Tack! Det ser riktigt bra ut. Man programmerar i 3D och kan använda bilder från programmets egen bildbank.
Att lära sig programmera är att lära sig:
- problemlösning.
- att förstå bakomliggande orsaker.
- att själv hitta nya sätt att skapa berättelser.
- att utveckla sitt matematiska och språkliga kunnande.
Ska vi syssla med sådant i skolan? Ja, säger jag. Att läsa instruktioner för att lära sig något och sedan genomföra det, kräver mycket av eleverna. Det skapar engagemang. Att sedan göra spelbeskrivningar på svenska eller ett annat språk till det man själv har skapat, hjälper språket vidare. Redan i år 1-3 ska eleverna arbeta med spelmanualer. De ska också arbeta med ”texter som kombinerar ord och bild, till exempel film, interaktiva spel och webbtexter.”
Det står inskrivet i läroplanen. Det står också i Lgr11 syftet för svenska att:
Genom undervisningen ska eleverna ges förutsättningar att utveckla sitt tal och skriftspråk så att de får tilltro till sin språkförmåga och kan uttrycka sig i olika sammanhang och för skilda syften. Det innebär att eleverna genom under visningen ska ges möjlighet att utveckla språket för att tänka, kommunicera och lära. Undervisningen ska stimulera elevernas intresse för att läsa och skriva.
Att börja i något engagerande kan ge många tillfällen att uttrycka sig och att komma vidare i både läsning och skrivning.
Och om vi går in på matematik, kan vi läsa att:
Lgr11 – Matematik
Syfte:
Undervisningen ska bidra till att eleverna utvecklar kunskaper för att kunna formulera och lösa problem samt reflektera över och värdera valda strategier, metoder, modeller och resultat. Eleverna ska även ges förutsättningar att utveckla kunskaper för att kunna tolka vardagliga och matematiska situationer samt beskriva och formulera dessa med hjälp av matematikens uttrycksformer.
Genom undervisningen i ämnet matematik ska eleverna sammanfattningsvis ges förut sättningar att utveckla sin förmåga att
• formulera och lösa problem med hjälp av matematik samt värdera valda strategier och metoder
• föra och följa matematiska resonemang
Centralt innehåll
År 1-3:
Problemlösning
• Strategier för matematisk problemlösning i enkla situationer.
År 4-6:
Problemlösning
• Strategier för matematisk problemlösning i vardagliga situationer.
År 7-9:
Taluppfattning och tals användning
• Reella tal och deras egenskaper samt deras användning i vardagliga och matematiska situationer.
Algebra
• Innebörden av variabelbegreppet och dess användning i algebraiska uttryck, formler och ekvationer.
• Algebraiska uttryck, formler och ekvationer i situationer som är relevanta för eleven.
Geometri
• Avbildning och konstruktion av geometriska objekt. Skala vid förminskning och förstoring av två och tredimensionella objekt.
Problemlösning
• Strategier för problemlösning i vardagliga situationer och inom olika ämnesområden samt värdering av valda strategier och metoder.
• Matematisk formulering av frågeställningar utifrån vardagliga situationer och olika ämnesområden.
• Enkla matematiska modeller och hur de kan användas i olika situationer.
Behöver man som lärare kunna allt innan man visar eleverna på de möjligheter som finns i enkel programmering?
Om man måste det, vågar nog ingen av oss hosta om dessa länkar. Jag har skrivit om länkarna, trots att jag säkert har fått något om bakfoten. Någon som förstår sig på sådant här bättre än jag, upptäcker säkert något fel. Men det får inte hindra mig från att vara nyfiken och försöka förstå. Man måste inte kunna allt innan man andas om det. Så även i skolan. Man kan visa eleverna att dessa länkar finns, man kan hänvisa till instruktionsfilmer och man kan tillåta eleverna att prova. Man kan lära tillsammans. Det kan vara så att några elever har väntat på just detta. De provar hemma. Be dem berätta hur man gör. Kanske i en instruktionsfilm som de skapat med hjälp av gratistjänsten Screen-o-Matic, Screenr eller någon annan tjänst. Bara inte vår rädsla för att förlora ansiktet om vi själva inte kan, eller vårt ”Jag har inte tid” hindrar oss från att hjälpa våra elever att hitta vidare.
De vill lära. Det finns de som frågar rektorn om hjälp.
Jag lärde mig programmera på en ZX81. Den går ju fortfarande att använda och det finns även emulatorer till de flesta operativsystem och även till webbläsare. Det finns en gratis emulator på Android Market som heter Zed Ex. Det finns emulatorer för iPhone för efterföljaren ZX Spectrum. Många av funktionsnamnen är identiska med datorspråk som används idag: t.ex. SQL. Originalmanualerna är bra och det finns andra böcker att låna på bibliotek. Jag tror det är lättare för barn att börja med en emulator av en enkel dator som man har möjlighet att lära sig fullständigt. Man kan överföra de egenutvecklade programmen till Internet.
Det är precis sånt här jag behöver höra: Hur man kommer bort från det tråkiga och fyrkantiga läroplanerna gärna skapar i tanken, plus viljan att vara ”modig” och släppa kontrollen. Mycket träffande beskrivning av ”måste lära mig själv först, men hinner inte nu…”
…jag svamlar…
Inspirerande! Det var nog det jag ville ha sagt:)
Tack!
Hej! Har funderat mycket på spelprogrammering till min 9-årige son. Han har spelat i några år och börjar intressera sig för att skapa egna digitala berättelser. Dina tips ger oss en bra start. Tack!
Tack Mikael! Jag letar med ljus och lykta och försöker förstå. Mottager tacksamt alla tips. Det finns så många som kan så mycket där ute. Återigen – tack!
Tack för feedback, Johan! Och Susse!
Small Basic och Hackety Hack är också programmerings resurser på grundläggende nivå.
Tack Kenth! Värdesätter dina tips!