Datalogiskt tänkande och stegvisa instruktioner i praktiken, del 2

För ett par veckor sedan skrev vi om datalogiskt tänkande och nya perspektiv i matematiken. Här följer förklaringar på några begrepp som har med datalogiskt tänkande och programmering  att göra samt exempel på hur man kan jobba med detta i klassrummet.

Stegvisa instruktioner

En del av datalogiskt tänkande är att kunna skapa stegvisa instruktioner och att kunna följa dem. Alltså att ge flera instruktioner efter varandra som beskriver hur något ska göras stegvis, i tur och ordning, till exempel hur vi kan bygga ett pärlhalsband efter ett visst mönster med olikfärgade pärlor. På bilden nedan visas när eleverna har skrivit sitt namn i binärkod.
Det är viktigt att vi lär oss göra saker steg för steg och att vi blir vana att följa en instruktion steg för steg. Vi kan också lära oss mer om talföljd, andra mönster med logiska block eller att identifiera en regel.

Algoritm

En algoritm är en uppsättning instruktioner som skapas för att till exempel lösa ett problem eller förverkliga en idé och beskriver exakt hur man ska gå tillväga för att göra detta. Algoritmer finns överallt i vardagslivet, exempelvis i matlagningsrecept eller en monteringsanvisning, men används även i vardagliga situationer som när man borstar tänderna eller klär på sig. De kan förekomma i klassrummet, till exempel i form av en lektionsplan eller ett schema.

I klassrummet kan man öva på stegvisa entydiga instruktioner genom att en elev ger stegvisa instruktioner till en annan elev för att förflytta sig från en punkt till en annan punkt. Dessa stegvisa instruktioner formar tillsammans en algoritm och bygger på ett systematiskt tillvägagångssätt. Det finns algoritmer som upprepas gång på gång, för alltid, eller tills något annat händer.

 

 

Mönster och sekvens

En del av datalogiskt tänkande handlar om mönster, mönsterigenkänning och upprepning av mönster. Det här med mönster är viktigt i programmering när det gäller att identifiera och skapa mönster. Mönsterigenkänning handlar om att hitta likheter och mönster som gör det möjligt att lösa ett problem på ett enklare sätt och att kunna generalisera.  När man gör något i sekvens så innebär det att man gör instruktionerna i tur och ordning efter varandra. I stället för sekvens kan man också prata om följd eller instruktionsföljd.

Loop och slinga

Begrepp som Loop och slinga passar bra att ta upp i undervisningen för att upprepa mönster. Loop betyder att något görs om och om igen. En loop är något som upprepas flera gånger. När du ger instruktioner används loop för att förkorta instruktionen (koden). I stället för att skriva samma sak upprepade gånger används till exempel instruktionen upprepa 3, vilket betyder upprepa tre gånger. Ett sätt att presentera begreppet loop är att använda musik. Där förekommer det ofta upprepningar.

Symboler i instruktioner

Det finns många förutfattade meningar om vad programmering i skolan egentligen handlar om, till exempel att det alltid måste finnas kod, men så är det inte. Många jobbar med datalogiskt tänkande utan att tänka på det genom att vi lär eleverna att göra saker i en speciell ordning, följa instruktioner. Det kan handla om att använda bilder som visar i vilken ordning någonting ska ske.

Det handlar om ett tankesätt, om att ordna och att systematisera, vilket behövs för att senare komma vidare till programmering. Även om det känns mest naturligt att beskriva algoritmer/instruktioner med vanligt språk så kan vi lika väl använda oss av olika typer av symboler. Det vi vill visa är att ordningen spelar roll. Vad händer om vi inte gör instruktionerna i rätt följd? Den största nackdelen med vanligt tal- eller skriftspråk är att det är svårt att vara tillräckligt exakt.
Genom att övergå till symbolspråk kan vi undvika en del problem. Men då är det viktigt att ge varje symbol en exakt betydelse. En av de första symboler som är enkel att använda är en pil. Med hjälp av pilarna kan man lätt öva på riktningar, höger, vänster, upp, ner, framåt.

 Programmering

Att programmera handlar inte enbart om att skriva kod. Det finns olika förmågor och aspekter av att lösa problem som man behöver öva på för att kunna utveckla sitt datalogiska tänkande. Jobbar man med programmering blir man också bättre på att tänka datalogiskt. Eller som Linda Mannila säger ”Datalogiskt tänkande är något som vi människor ägnar oss åt för att göra det lättare för oss att dra så stor nytta av datorerna som möjligt.”

När vi kommit så långt, kan vi jobba med programmering och stegvisa instruktioner. Då kan vi använda oss av robotar som vi kan styra steg för steg. Vi kan ge stegvisa instruktioner för hur den ska förflytta sig: Gå fem steg framåt, sväng höger.

Blue bot passar bra för de yngre eleverna att arbeta med och går att utveckla så att även äldre elever kan använda dem via styrning från iPad. Appar som Scratch Jr, Lego – Fix The Factory, Playgrounds och Daisy The Dinosaur använder vi på skolan för den första enkla blockprogrammeringen.

Felsökning, Bugg

När eleverna programmerar en robot märker de lätt när det blir fel i instruktionerna. Att de tänkt fel eller gett fel instruktion. Att vara exakt när man gör steg för steg-instruktioner och att felsöka är en viktig del i programmeringen.

Sortera efter villkor

Att kunna sortera efter egenskap är viktigt i programmering för att senare kunna sortera efter villkor. Eleverna kan tidigt öva på att sortera efter färg, form, storlek, antal och egenskaper. Begreppet villkor är relevant att ta upp i åk 2 som en grund för programmering. När man programmerar så berättar man för datorn hur den ska reagera när den får ett kommando. Villkor gör att man kan få programmet att göra ett av två olika val:

Om något händer

Så ska datorn göra så här

Annars gör något annat

Ett villkorsuttryck är ett uttryck som antingen är sant eller falskt. Vardagliga exempel på villkorsuttryck kan vara ”det regnade i Östersund igår”, ”jag har på mig en svart tröja idag” och ”jag har en hund”. Dessa påståenden är antingen sanna eller falska – antingen regnade det i Östersundigår, eller så regnade det inte.

Det här är områden som vi på Arnljotskolan arbetar med i matematik i årskurs f-2 för att lära eleverna om ”Hur entydiga stegvisa instruktioner kan konstrueras, beskrivas och följas som grund för programmeringoch symbolers användning vid stegvisa instruktioner.”

Elin Hemmingsson, Förstelärare i matematik på Arnljotskolan &

Helena Fredriksson, IT-pedagog på Arnljotskolan

Vill ni på er skola lära er mer rekommenderar vi följande litteratur och länkar:

 Linda Mannila. “Att undervisa i programmering i skolan: varför, vad och hur?” (Studentlitteratur)

UR Lärlabbet. Datalogiskt tänkande” . (Den färgade texten är länkar!)

UR skola. Programmera mera”. (I den här programserien hittar vi goda exempel på hur vi kan jobba med de här begreppen i matematikundervisningen.)

Lärportalen, Algebra åk 1-3. ”Programmering som språk”   och Kommunicera instruktioner” .

 

 

 

Translate »