Programmeren voor kleuters

Programmeren voor kleuters, er zijn een hoop spellen, games en apps beschikbaar voor, maar wat werkt eigenlijk? Wij besloten het eens op een systematische manier uit te zoeken.

De opzet

We hebben 5 weken les gegeven op een BSO in Den Haag, aan 11 kinderen uit groep 1 (4) en groep 2 (7). In de groep zaten 5 meisjes en 6 jongens. De kinderen kregen 5 weken een les van ons. In de eerste week speelden we met dolle dierenkaartjes, waarbij de kinderen plaatjes van dieren moesten sorteren en ordenen. Bijvoorbeeld, alle zeedieren zoeken, of de dieren op volgorde van grootte leggen. Daarna werkten de kinderen 2 weken met het unplugged bordspel RoboTurtles en toen nog 2 weken met de kleine robotjes Ozobots.

We waren altijd met minstens 2 personen aanwezig, de begeleidster van de BSO, een van mijn studenten of ikzelf. We maakten systematische aantekeningen en daaruit haalden we observaties. Iets telt als een observatie wanneer het gedrag door minstens 2 kinderen vertoond werd en door minstens 2 begeleiders gezien.

Observaties

Observatie 1: De goede richting kiezen is lastig als je niet in dezelfde richting staat als de robot/schildpad

Een van de meest voorkomende fouten die we zagen is dat het moeilijk is om de goede kant te kiezen, als de robot anders staat dan jijzelf. Zo gaat het goed:

Maar zo gauw het kind in een andere richting stond, werd het verwarrend.

Niet zo heel verrassend natuurlijk, dit is zelf voor volwassenen moeilijk, denk aan het meedraaien van een kaart met de richting waarin je staat. Deze vaardigheid noemen we trouwens spatial reasoning, “the ability to recognize and view figures, and the ability to rotate or follow the movements of figures”(Ambrosio et al., 2014). Ambrosio noemde deze vaardigheid cruciaal voor het leren programmeren.

Observatie 2: Kinderen raken afgeleid door hun fantasie

De setting van de spellen is zo gekozen dat ze aantrekkelijk zijn voor jonge kinderen. RoboTurtles geeft bijvoorbeeld een laserstraalkaart om ijs mee te smelten. Kinderen vonden die zo leuk dat ze ermee op elkaar gingen schieten en zo het programmeren uit het oog verloren. Zeker bij de OzoBot gebeurde dat omdat ze natuurlijk cool zijn, met hun kleurtjes en beweging. Zeker de jongens wilden ze gewoon hard laten racen, ook als dat de opdracht niet was.

Observatie 3: Het helpt om een kaart meteen uit te voeren

Het uitleggen van kaartjes (“deze kaart zorgt ervoor dat de robot draait”) had veel minder effect dan simpelweg voordoen. Zeker het maken van geluidjes bij de beweging van de schildpad, zoals de gebruiksaanwijzing ook voorschrijf, hielp kinderen bij het snappen van het feit dat je bijvoorbeeld een door wel kan duwen maar een muur niet.

Observatie 4: Kinderen kunnen verrassend goed omgaan met abstractie

Onze verwachting was dat kinderen de kikkerkaart (het definieren en gebruiken van een functie) te moeilijk zouden vinden, maar dat viel mee. Kinderen waren vooral erg gemotiveerd door het feit dat de schildpad dan sneller vooruit kon, en legden 2 of 3 vooruit kaarten bij de kikker. Soms kwam het wel voor dat ze vervolgens vergaten om de kikker toe te passen, dan hadden ze wat aanmoediging nodig. Hergebruiken (meerdere kikkers spelen) kwam ook nauwelijks voor, dat is duidelijk nog te hoog gegrepen.

Observatie 5: Hulp van een volwassene en actief leren zijn nodig

Alleen maar uitleggen zal bij deze groep kinderen niet werken. Vaak hebben ze hun eigen misconceptions van hoe programmeren gaat. Een van de meisjes bijvoorbeeld wilde geen tweede vooruit leggen als de robot 2 keer vooruit moest. De robot kon toch immers die kaart die er al las nog een keer lezen? Een heel redelijke veronderstelling, maar niet hoe het spel werkt. In dat soort gevallen moet een volwassene het executiemodel voordoen en/of nogmaals uitleggen.

Observatie 6: Kinderen kunnen hun onbegrip niet altijd uitdrukken

Sterker nog, ze hebben een laag begrip van hun eigen begrip. Een van de jongens wilde RoboTurtles niet voor een tweede keer doen, want “het is zo makkelijk”. Echt was hij degene die het meeste moeilijk had met de opdrachten! Het probleem zat m er waarschijnlijk in dat ze zelf het goede pad makkelijk konden aanwijzen, met hun vinger, maar dat ze niet de goede programmeerkaarten wisten te vinden. Dit past bij eerder onderzoek dat aangeeft dat jonge kinderen vaak een incomplete uitleg als goed beschouwen. (National Research Council, 2011)

Observaties in context

Hadden we deze resultaten nu eigenlijk kunnen verwachten? Om dit te beoordelen hebben we het ontwikkelingsmodel van Piaget erbij gepakt.

In deze tabel zie je de verwachte gedragingen van kinderen in de preoperationele fase van ontwikkeling. Zoals je ziet komen sommige voorspellingen overeen met onze waarnemingen, maar andere niet. Animalistic thinking bijvoorbeeld past goed bij observatie 2, en egocentrisme past bij observatie 1. Het denken in zo’n framework heeft ons geholpen om onze waarnemingen te kaderen, en we raden iedereen zeker aan om een model met doelen te formuleren en de waarnemingen hierlangs te leggen.

Conclusies

Programmeren met kleuters, dat kan zeker! Maar je moet als ouder of leerkracht het executiemodel goed blijven herhalen en meespelen en leren. Denk niet dat kinderen van een Ozobot vanzelf leren programmeren.

Verder zien we in veel lessen dan leerkrachten niet echt aan een model denken. Ze zijn aan blij als de kids lekker aan de slag gaan. Omdat het thema programmeren zo nieuw is, denken leerkrachten niet in (leer)doelen en die meetbaar maken. Dat past eigenlijk precies in het neo-Piagetiaanse denken, dat zegt dat mensen in een nieuw vakgebied terug vallen naar sensorisch motorisch denken 🙂 Denk dus aan de doelen en aan een verwachtingsmodel, anders is de kans groot dat je leerlingen niets opsteken en jijzelf ook niet!

Nog meer weten? Lees dan het hele paper (Engels)