Programmering bidrar till att eleverna förbättrar sina färdigheter och förståelse i matematik. Eleverna utvecklar sitt algoritmiska tänkande genom att närma sig problem på ett systematiskt sätt. De kommer att lära sig att analysera problemet, dela upp det i delproblem och fundera över vilka steg som behövs för att lösa det.
Från standardalgoritmer till algoritmiskt tänkande
I Sverige finns det flera standardalgoritmer som har definierats för hur beräkningar ska utföras; regeln för division eller multiplikation av flersiffriga tal, till exempel, följer en specifik algoritm som anger varje steg i uträkningen och i vilken ordning de ska göras.
Genom träning i algoritmiskt tänkande lär sig eleverna att bryta ner större problem till mindre, mer hanterbara delproblem. Det gör de genom att organisera och analysera problemen på ett logiskt och systematiskt sätt och sedan komma fram till algoritmer för att lösa dem.
Dessa lösningar ska eleven kunna generalisera för att lösa andra liknande problem. Den algoritmiska tänkaren är systematisk och analytisk i sitt arbete, men samtidigt kreativ, experimenterande och öppen för alternativa lösningar.
Programmering - ett verktyg för att lösa problem
Programmering ska hjälpa eleverna att förstå det algoritmiska tänkandet och kunna tillämpa det. De bör gå från en rent analytisk process till en steg-för-steg-process; från en abstrakt förståelse av siffror och symboler till en konkret numerisk förståelse. Programmering ger eleverna ett systematiskt förhållningssätt till problemlösning, något som innebär att försöka, misslyckas samt systematiskt felsöka.
Genom programmering ska eleverna bland annat lära sig att:
- organisera och analysera data på ett logiskt sätt
- dela upp frågor i mindre delproblem
- skapa algoritmer (steg-för-steg)
- leta efter mönster och likheter
- försöka, misslyckas och felsöka
- generalisera lösningar
Lär dig programmering med Kikora
När författarna skapar programmeringsuppgifter i Kikora tänker de holistiskt och med problemlösning på alla nivåer. Plattformen ger eleverna en översiktlig och väldefinierad uppsättning verktyg som de behöver använda för att lösa uppgifter: eleverna utforskar, försöker, misslyckas och upplever förmågan att klara av uppgiften när de kommer fram till sina egna fungerande algoritmer.
I det centrala innehållet står det att redan på lågstadiet ska eleverna kunna “Entydiga stegvisa instruktioner och hur de konstrueras, beskrivs och följs som grund för programmering. Hur symboler används vid stegvisa instruktioner.” På mellanstadiet fortsätter man sedan med “- Programmering i visuella programmeringsmiljöer. Hur algoritmer skapas och används vid programmering.”
För att komma igång med programmering och algoritmiskt tänkande börjar Kikora med blockprogrammering. Med block får eleverna en visuell, snabb och lågtröskel-introduktion till programmering – de behöver inte ta itu med kod, semantik och tecken. Det centrala innehållet i programmering täcks av blockprogrammering. Därför har vi valt denna metod för att introducera programmering för åk 1-6.
I takt med att eleverna blir bättre på programmering går vi över till textprogrammering för att täcka det centrala innehållet för högstadiet. För att göra övergången från block till text mer smidig har vi skapat våra egna lärpaket som visar och förklarar koden bakom kodblocken, samt tecken och begrepp.
När eleverna börjar med blockprogrammering introduceras de för enkla programmeringsbegrepp som ”steg-för-steg-instruktioner, loopar och villkor”. Eleven har en triangulär pil som finns i ett rutnät och kan göra en rad operationer: räkna, gå framåt, svänga vänster och höger. Den första uppgiften kan till exempel handla om att figuren ska gå till flaggan rakt framför: det finns inga hinder i vägen, så lösningen är bara att gå tills man träffar flaggan och stanna.
I nästa uppgift kan flaggan ha flyttats till höger eller vänster men den är fortfarande framför figuren. Då räcker det inte längre med att bara gå framåt utan eleven måste vända figuren. Följande uppgifter kan vara att det ligger en eller flera stenar i vägen, då kan figuren inte gå rakt fram eftersom den då kommer att krocka med stenen.
Eleven måste komma på en ny lösning eftersom det inte längre fungerar att gå rakt fram till flaggan, hen behöver tänka steg-för-steg. Syftet med dessa uppgifter är att de ska stärka elevens analytiska förmåga och förståelse för varför man ska tänka steg för steg, resultatet definieras utifrån både utgångspunkt och algoritm.
Eleven bygger sin egen algoritm
När vi skapar uppgifter i Kikora vet vi i princip inte hur eleverna tänker angripa problemet eftersom det ofta finns många olika sätt att lösa problemet på. Vi vill att eleven ska komma på en lösning som de anser vara sin egen, så att de när de stöter på nya liknande uppgifter kan de använda samma typ av algoritm. Målet med programmeringsmodulen är inte att eleverna ska lära sig en teknik, utan snarare att de ska lära sig att hitta sin egen lösning.
Programmeringsmodulen ska ge möjlighet till kreativa sätt att lösa problem, nyfikenhet och vilja att pröva idéer. På så sätt kommer eleverna att få nya infallsvinklar till att förstå innehållet och uppnå ett fördjupat lärande.