Columns

Programmeren met kinderen: fouten maken, verbeteren & oplossen

0

Column – Een wereldrecord moest het worden, en een wereldrecord werd het. Het oude record stond op naam van Australië, in juli van dit jaar. Toen hadden 9.782 leerlingen gelijktijdig aan een programmeeropdracht gewerkt. En nu, afgelopen vrijdag 14 oktober, was de uitdaging om dat wereldrecord te verbreken.

Op de basisschool waar ik vrijdagochtend lesgeef (schaken, wiskunde, Frans) had ik al in augustus voorgesteld om met een groep kinderen uit groep 8 te gaan programmeren. En toen hoorden we van Stichting CodeUur de ambitie om het wereldrecord te verbeteren. CodeUur heeft als doelstelling om leerlingen van basisscholen in Nederland te inspireren om met het programmeren in aanraking te komen.

De programmeertaal die hiervoor wordt gebruikt, is de online variant van Scratch. Het is een toegankelijke grafische programmeeromgeving. Als je veel verbeelding hebt, lijkt het op het werken met blokken zoals Lego. Je hoeft er geen type-vaardigheden voor te hebben. Als je een beetje logisch kunt denken, goed kunt omgaan met een muis en het slepen van blokken, kom je een heel eind.

De programmeeropdracht

Hoe dan ook, die vrijdag is het zover. Zeven leerlingen uit groep 8 is gevraagd om mee te doen. In de klas staan zeven laptops, een groot digibord en ik ben de docent van dienst. Om stipt 9 uur mogen de leerlingen zichzelf bekendmaken op de site die speciaal voor dit wereldrecord in het leven is geroepen. De programmeeropdracht wordt ingeluid met een filmpje. Het thema is de jacht op olifanten in Afrika door meedogenloze stropers, en wat we er aan gaan doen.

We gaan een computerspel maken waarin een stroper op een olifant afgaat. In de andere hoek van het veld gaat een drone de lucht in met als opdracht de stroper te lokaliseren. Als de stroper gevonden is, geeft de drone een signaal aan een reddende ranger op de grond die de stroper te pakken neemt. De uitdaging is om de stroper uit te schakelen vóórdat hij de olifant bereikt. Dat is goed voor de wereld.

Leerlingen aan het programmeren

Leerlingen van basisschool De Bolderik, Heeswijk Dinther.

Fouten maken, verbeteren en opnieuw proberen

Mooie opdracht. We beginnen om de stroper te laten bewegen, richting de olifant die in het midden staat te grazen. Je leert te denken in bewegingen over de x-as en de y-as. Je gaat je beseffen hoe letterlijk digitaal een computer denkt. Het programma doet precies wat je het vertelt te doen, en als je een x of y met elkaar verwisselt zie je meteen de vergissing en leer je te begrijpen waarom de stroper niet de goede kant opgaat. Dit is fouten maken, verbeteren, opnieuw proberen. Hij doet niet wat ik vraag. Jawel, hij doet precies wat je vraagt, alleen je opdracht is verkeerd.

Daarna gaan we de drone programmeren, die besturen we met de pijltjes op het toetsenbord. Heel dom werk, ook dat is programmeren. Als <pijltje-naar-beneden> dan <drone 10 puntjes naar beneden>. Dit is dus de y-as. En dat moet je vier keer doen. Pijltje naar links, rechts, nou ja, bedenk het maar. De kinderen leren te denken in herhaal-loops (doe tien keer de volgende dingen), in if-then-else-redeneringen. Als <dit gebeurt> dan <doe dit> anders <doe dat>.

Om het kwartier een nieuw instructiefilmpje

“Ik zie de drone niet meer”, zegt Kristel. Veere lost het op voor haar. ‘Maak drone zichtbaar’, is het commando dat je naar rechts moet slepen. Tjeu heeft ontdekt hoe je een geluid kunt laten klinken als de drone boven de stroper hangt. Even later laat Doran horen hoe je een zelfgemaakt geluid kunt laten horen bij een bepaald ‘event’. Het wordt een klere-herrie in de klas. Ik vraag om geluiden uit te zetten, mag straks weer.

We leren het wacht-totdat en herhaal-totdat commando. Om het kwartier komt er een nieuw instructiefilmpje op het grote digibord.

codeuurDan wordt de opdracht iets moeilijker. We maken de stroper onzichtbaar, totdat hij een bepaalde cirkel binnenkomt. We laten ook de olifant bewegen. Iedere speler in het spel (drone, stroper, olifant, ranger) heeft zijn eigen programmeer-omgeving. Het lukt de kinderen, door te proberen, door bij elkaar te kijken en elkaar te helpen. Om elf uur is er een speelbaar spel. Dan… kijken of het wereldrecord is gehaald. Er gaat razendsnel een teller lopen. Als de teller de 10.000-grens is gepasseerd komt er confetti op het scherm. Gebroken! Er hebben tussen 9.00 en 11.00 uur die ochtend 11.368 leerlingen meegedaan.

Meer dan elfduizend leerlingen in aanraking met programmeren

Er wordt druk getwitterd, #codeuurwr. Koninklijke belangstelling, prins Constantijn blijkt een van de deelnemers te zijn geweest, ook Amsterdamse wethouder Kasja Ollongren heeft meegekeken.

Het zal allemaal wel, en we gunnen iedereen de claim op succes. Feit is dat er in twee uur tijd meer dan elfduizend leerlingen op een basisschool in aanraking zijn gekomen met iets wat lijkt op programmeren.

Feit is ook dat de kleine groep feilloos liet zien hoe het werkt om binnen een eenvoudige structuur met beperkingen (tijd, telkens een kleine opdracht, programmeeromgeving) te experimenteren met een doel, ongegeneerd fouten te maken, meteen te zien dàt het fout is (met hulp of zonder hulp er achter komen wàt er fout is), opnieuw proberen, testen en het te laten zien aan elkaar.

Het is nuttig als je begrijpt hoe een programma werkt

Natuurlijk, ik had op het grote digibord de code regel voor regel naar de goede plaats kunnen slepen en dan hadden de kinderen regel voor regel het overgenomen. Dan had iedereen ook hetzelfde spel gehad, niemand had het begrepen, en misschien had het wel langer geduurd.

Nee, natuurlijk moet, kan, noch hoeft iedereen programmeur te worden. Wat wel helpt is dat kinderen ook maar een greintje begrijpen van de manier waarop computers denken. Of het nu de meldingen zijn die gegenereerd worden door Facebook-algoritmes, de zelfrijdende auto van straks (waardoor de basisschool-leerlingen van nu, toezichthouders in de auto’s van straks worden) of de helpdeskmedewerker die ‘computer says no‘ zegt. Hoe je het ook wendt of keert, het is nuttig als je begrijpt hoe een programma werkt.

Tekening van Sterre Steins Bisschop.

Tekening van Sterre Steins Bisschop.

Honderden miljoenen euro’s naar innovatie-stimuleringsprogramma’s

Er worden door bedrijven, overheden of op Europees niveau honderden miljoenen gestopt in innovatie-stimuleringsprogramma’s, maar van de aanvragen en de daarvan gefinancierde projecten druipt een dikke straal rechtstreeks het rioolputje in. Innovatie komt heel soms van boven, maar meestal van beneden. En het zou helpen als we alle kinderen van bijvoorbeeld groep 7 en 8 een paar uurtjes per week zouden bijbrengen hoe systemen kunnen denken.

Innovatie komt heel soms van boven, maar meestal van beneden.

Aan de Deltawerken werd na de watersnoodramp in 1953 begonnen. De eerste grote oplevering was de Oosterscheldekering, in 1986. Denk daar maar aan als je kinderen van nu leert begrijpen wat programmeren is.