In het vorige artikel “Wat is computational thinking?”  ben ik gestart met vertellen wat Computational thinking is en hoe je dit in een kleuterklas in kunt zetten (en vast ook al inzet!).

In dat artikel kwamen deze onderdelen van de leerlijn voorbij:

  • Probleem herformuleren
  • Gegevens verzamelen
  • Gegevens analyseren
  • Gegevens visualiseren

In dit artikel gaan we verder en komen de volgende onderdelen aan de orde:

  • Probleem decompositie
  • Automatisering
  • Algoritmes en procedures

In deel 3 zullen deze vaardigheden behandeld worden:

  • Parallellisatie
  • Abstractie
  • Simulatie en modellering

Ga je mee op ontdekkingstocht?

Probleem decompositie

− opdelen van een eenvoudige taak in deeltaken

Als je dit leest, schieten je vast al een aantal activiteiten te binnen die te maken hebben met probleem decompositie.
Zelf denk ik meteen aan allerlei kookactiviteiten, waarbij je stap voor stap aan de slag gaat. Eerst doen we dit, dan dat.

De “Beertjes van Meichenbaum” is ook zo’n voorbeeld: hoe pak ik mijn werk aan? Wat doe ik eerst, en wat komt daarna?

Ook spelscripts in de huishoek of themahoek zijn een vorm van probleem decompositie.

− plaatsen van (deel-)opdrachten in een logische volgorde

Bij deze vaardigheid denk ik aan de bekende werkjes waarbij de plaatjes in een bepaalde volgorde legt. Je kent ze vast wel: de cyclus van kikkerdril tot kikker, van eitje tot vlinder, de stappen van opstaan tot weer naar bed gaan… Hoe vaak laat je dit soort situaties in de goede volgorde plakken?
Een goede oefening voor probleem decompositie.

− benoemen van onderdelen van een voorwerp als delen van een groter geheel (bijv. bij een vliegtuig of plant)

Een leuke activiteit om samen met kleuters te doen! Passend bij je thema, een voorwerp voorzien van de namen van de onderdelen.
Bijvoorbeeld bij een fiets. Op de voorbeelden zie je dit in het platte vlak, maar in 3d is dit natuurlijk het leukst.
Zet de fiets midden in de klas en maak lossen kaartjes. Op elk kaartje schrijf je de naam van een onderdeel van de fiets. Sommige dingen weten de kinderen meteen, voor andere is misschien war opzoekwerk nodig.
De kaartjes plak je op de fiets, op de goede plek.

Automatisering

− herkennen van de herhaling van taken in verschillende situaties

Over deze moest ik toch echt wat langer nadenken. Hoe kom je automatiseren tegen in een kleutergroep?
Natuurlijk zijn er best veel taken waar veel herhaling in zit. Bijvoorbeeld bij kralen rijgen: de kraal oppakken, het draadje door het gaatje in de kraal stoppen, de kraal aanschuiven.

Maar ja, dat is toch niet echt werken aan computational thinking…..

Het maken van een boekje dan voor alle kinderen? Het “rapen”van zo’n boekje kan een vorm van automatisering zijn.
Alle bladzijdes van het boekje op een rij, er langs lopen en van elke stapel 1 blad pakken, tot je het hele boekje compleet hebt, een nietje erin en weer opnieuw.
Een goede manier om automatisering zichtbaar te maken. Met elkaar een lopend band vormen.

Doen we niet meer zo vaak, want met de kopieermachines van tegenwoordig is dit meestal niet meer nodig. Maar op deze manier kun je wel het begrip automatisering duidelijk maken.

Gebruik jij Automatisering in jouw klas? Deel je jouw voorbeeld dan hieronder?

− beseffen dat een computer een taak eindeloos kan herhalen (bijv. in oefeningen)

Ook dit subdoel is in de kleuterklas lastig. Je zou het hier met kinderen kunnen hebben over spelletjes waarbij je steeds weer hetzelfde doet en de computer geeft je steeds weer een nieuwe herhaling.

De computer is geduldig!

Kleuters zelf vinden herhaling vaak ook heel erg prettig. Eindeloos hetzelfde doen...
Tot jij als leerkracht er helemaal gek van wordt....!

Hier kun je met kinderen wel een leuk gesprek over hebben. Zeker als kinderen uiteindelijk moe zijn en aangeven dat ze niet verder kunnen met iets.
Door het voorbeeld van de computer aan te halen, kan er een mooi gesprek ontstaan.
Zelfs een filosofisch gesprek:"Zou een computer ooit moe worden?"

Heb jij wel eens zo'n soort filosofisch gesprek gevoerd over computers?

Algoritmes en procedures

Wat is een algoritme? In het volgende filmpje wordt het duidelijk uitgelegd!

− op volgorde zetten van instructies of regels (als basis van een sequentieel algoritme)

Bij deze deelvaardigheid ga je de stappen die nodig zijn voor een taak in de goede volgorde zetten. Stel dat je een cake gaat bakken, wat doe je dan als eerste?
Met jonge kinderen kun je ook op deze manier over taken nadenken. Wat doe je eerst en wat doe je daarna?
Handig voor kleuters is om dit te ondersteunen met plaatjes of pictogrammen.
Denk bijvoorbeeld aan het dagritme. Hiermee geven we kleuters inzicht in het ritme van de dag. Voor jonge kinderen geeft dit veel houvast.(voor oudere kinderen trouwens vaak ook 😉 ).

Ook de beertje van Meichenbaum passen goed bij deze vaardigheid.

− begrijpen dat bepaalde reeksen een logische ordening kennen
uitvoeren van een taak door stap voor stap een reeks handelingen uit te voeren
− opvolgen van logische reeksen van instructies (zowel sequentieel als herhalend)

Hier werk je verder aan de vorige deelvaardigheid. Veel dingen moet je in een bepaalde volgorde doen. Doe je ze in een andere volgorde, dan wordt de opdracht niet goed uitgevoerd.
Denk maar aan je aankleden: als je eerst je lange broek aandoet en daarna je onderbroek, gaat het echt niet zoals bedoeld en krijg je een ander resultaat.

Jonge kinderen leren veel op dit gebied:

  • eerst vegen dan opvegen met stoffer en blik
  • eerst je beker open maken, dan de beker leegdrinken
  • eerst je mandarijn pellen, dan de stukjes losmaken, dan de mandarijn opeten
  • eerst de kralenplank uit de kast halen, deze op tafel zetten, de kralenplank uit de doos halen en omdraaien, het voorbeeld neerleggen, met de kralen het voorbeeld namaken

Zo zijn er enorm veel taken te bedenken, die een logische reeks hebben en een bepaalde volgorde vragen.

Ook met de Beebot is een logische ordening belangrijk. Eerst de Beebot aanzetten. Zorgen dat je op het kruisje drukt om een vorige route te wissen. Bedenken waar naartoe je de Beebot wilt programmeren. Bedenken welke stappen de Beebot moet nemen om op die plek te komen. Daarna de Beebot stap voor stap programmeren. Op start drukken en de Beebot de route laten rijden. Controleren of de Beebot op de goede plek eindigt. Indien nodig bedenken waar het mis is gegaan en vanaf het wissen herhalen.

De Beebot zelf werkt natuurlijk ook volgens een algoritme. Een algoritme dat je zelf in de Beebot moet programmeren.

− geven van een reeks instructies aan een ander (mondeling of via symbolen) voor het uitvoeren van een bepaalde taak

Dit is een leuke activiteit met jonge kinderen!
Mondelinge instructies geven we natuurlijk al heel vaak. Voor de echte jonkies is het vaak heel moeilijk om een dubbele taak uit te voeren. "Geef eerst de plantjes water en pak daarna je tas", wordt door jonge kinderen vaak niet goed uitgevoerd. Vaak wordt er maar 1 taak gedaan. Hoe ouder ze worden en hoe meer kinderen zich ontwikkelen, hoe complexer kunnen instructies zijn.

Natuurlijk kun je hier leuke spelletjes mee doen. Zeker ook als je met symbolen werkt.

Bijvoorbeeld: Wie kan de meeste instructies achter elkaar in de goede volgorde uitvoeren? 
Geef hierbij een reeks instructies (begin met 2 en bouw dit steeds verder uit). Gebruik hierbij pictogrammen van de instructies en leg die neer op een plek. Hierdoor kun je controleren met de rest van de klas of de instructies goed en in de goede volgorde worden uitgevoerd.
Hoe gekker je instructies zijn, hoe leuker het wordt natuurlijk.

− uit een reeks halen van een foute stap of instructie en deze vervangen door een juiste

Dit zit heel vaak in ontwikkelingsmaterialen, spelletjes en werkbladen:

  • Wat rijmt niet?
  • Welke hoort er niet bij?

Ook bij de Beebot of Cubetto kun je een foute stap of instructie vervangen door een goede. Bij de Beebot betekent dat dat je opnieuw moet programmeren, bij de Cubetto kun je de instructie aanpassen op het opdrachtenbord.
Deze vaardigheid kun je ook oefenen door levend te gaan programmeren.

Ook als je werkt met de Bluebot in combinatie met de tactile reader kun je deze vaardigheid oefenen.
Deze vaardigheid heet in het programmeren "debuggen".

− voorspellen van gedrag bij de werking van simpele (computer-)programma's door logisch te redeneren

Bij jonge kinderen kun je deze vaardigheid goed oefenen door kinderen het einde van een verhaal te laten bedenken of bij een reeks plaatjes een vervolg te bedenken.

− plaatsen van (deel-)opdrachten in een logische volgorde

Dit lijkt weer veel op de eerste deelvaardigheid van Algoritmes. Bij de eerste ging het over instructies, bij deze vaardigheid over deelopdrachten.

Voor mij zit er veel overlap in deze vaardigheden.
Iemand die hier andere ideeën bij heeft? Laat ze gerust horen!

Vandaag heb ik je weer ideeën gegeven bij een aantal vaardigheden die horen bij Computational thinking, die ik met jonge kinderen kunt doen.

Het is best lastig om al deze (deel-)vaardigheden goed te duiden en er voorbeelden voor te bedenken. Dat is ook de zoektocht die we met elkaar aan het doen zijn.

Heb jij ideeën bij een bepaalde vaardigheid, of zie jij dingen anders? Ik hoor het heel graag!!
Met elkaar kunnen we een goede invulling geven aan de vaardigheid Computational thinking.

Binnenkort volgt deel 3 uit deze serie.