Hoe begin je aan programmeerlessen?

- Jeroen Langendam

Leren programmeren is lastig. Onderwijs geven in programmeren in het begin ook. Begin bij de basis en zorg dat je programmeerles in ieder geval de volgende drie stappen omvat.

Alle begin is moeilijk. Het is een cliché, maar daarom niet onwaar. Als je net begint met programmeren is het nog knap lastig om de logica te zien van de programmeertaal waarin je leert werken. Maar de eerste programmeerlessen zijn niet alleen moeilijk voor de leerling. Ook voor de school, met name de leerkracht, is het best lastig om te beginnen met goed programmeeronderwijs.

Tegenwoordig zijn programmeerlessen niet alleen meer voorbehouden aan de docent IT-vaardigheden. Programmeren is overal en de logica van computers kun je ook in andere vakgebieden doceren. Immers, programmeren is zoveel meer dan alleen het “kloppen van code”. Programmeren gaat over hoe je een bepaald stappenplan kunt formaliseren om een probleem op te lossen.

Zo kan een taaldocent de link leggen tussen de syntax van een programmeertaal en de grammatica van de normale taal en tijdens de muziekles kun je leren hoe artificiële intelligentie werkt.

Wil je leerlingen ook in jouw vak de logica van het programmeren aanleren? Begin dan met de volgende drie stappen.

Stap 1: Leg een solide basis van kernconcepten van het programmeren

Elke taal heeft zo zijn regels. Bij taal is dat grammatica, bij wiskunde zijn dat basisregels zoals de impact van haakjes op een vergelijking. Zonder die basisregels ben je in het vak hopeloos verloren. Dit geldt ook bij programmeren. Om goed te kunnen programmeren, moet de leerling de basisconcepten kennen en deze in de juiste syntax kunnen toepassen.

Hoewel de syntax er bij verschillende talen anders kan uitzien, zijn er basisconcepten die in elke programmeertaal gebruikt worden. Denk aan functies, voorwaardelijke vergelijkingen (als-dan), variabelen en loops.

Zet als school dus niet te hoog in door ernaar te streven de volgende Steve Wozniak op te leiden.

Stap 2: Kies voor de juiste instrumenten om te programmeren

Wanneer leerlingen voor het eerst gaan programmeren, zet je ze niet gelijk aan het werk in geavanceerde computertalen. Dat zou frustrerend en demotiverend werken. Als je het uiterste uit je programmeerlessen wilt halen, wil je dat leerlingen meer doen dan braaf de stappen volgen die je voor ze hebt uitgewerkt. Je wilt dat ze gaan experimenteren. Dat helpt om de basiskennis goed te verankeren.

 Daarom is het aan te raden gebruik te maken van een programmeer-tool die past bij het niveau. Het aanbod aan mogelijke tools is groot. Denk aan code.org, scratch en tickle, de programmeerbare robot van mTiny of de AWS DeepRacer (voor wat oudere leerlingen).

Stap 3: Ga uit van niveauverschillen

In elk vak heb je kinderen die sneller leren dan anderen. Bij programmeren wordt dat soms goed zichtbaar, omdat het ene kind mooie dingen bouwt, terwijl het andere kind worstelt met de eerste opdracht.

Biedt iedere leerling de ruimte om in zijn eigen tempo te leren. Een goede manier om dit te bereiken is door je lessen aan te bieden als workshops. Dus geen vaste opdrachten die iedereen op hetzelfde moment moet inleveren (met alle frustraties van dien), maar een systeem waar leerlingen zelf experimenteren en hulp kunnen vragen wanneer ze daar behoefte aan hebben.

Hoewel elke workshop er anders uitziet, hebben alle workshops met elkaar gemeen dat er relatief weinig klassikale kennisoverdracht plaatsvindt. In plaats daarvan geven docenten gerichte instructie per leerling. Dat kan betekenen dat je bij de ene leerling de basis nog een keer uitlegt, terwijl je bij de andere leerling worstelt om hem of haar van voldoende uitdaging te voorzien. Een mooi bij-effect van programmeer-workshops is dat kinderen elkaar gaan helpen, wat het leereffect nog eens extra versterkt.

Zonder de basisregels ben je in elk vak hopeloos verloren. Dit geldt ook bij programmeren.

Sommige leerkrachten kiezen ervoor om bij de programmeer-workshops bepaalde zones in te richten. De leerling kiest wat hij of zij nodig is: gaat hij programmeren met de leraar, gaan ze aan het werk in duo’s of kiest een leerling ervoor om op eigen houtje nieuwe dingen uit te proberen op basis van tutorials die speciaal zijn uitgezocht als extra uitdaging?

Leren programmeren is lang niet eenvoudig

Beginnen met programmeerlessen is lastig. De bovengenoemde stappen waarborgen een minimumniveau waaraan elke vorm van onderwijs in programmeertalen en IT-toepassingen moet voldoen. Maar het invullen van de stappen is niet eenvoudig.

Programmeren is niet iets iets wat je zo 1-2-3 onder de knie krijgt. Het vergt tijd en geduld (van zowel de leerling als de leraar), een goede inzet van educatieve technologie en een solide onderwijsstrategie die erop gericht is het uiterste uit de leerling te halen. En zelfs als aan alle voorwaarden is voldaan, kost het tijd om een goede programmeur op te leiden. Iemand is pas een echt volleerde programmeur na decennia aan oefening.

Zet als school dus niet te hoog in door ernaar te streven de volgende Steve Wozniak op te leiden. Kies voor doelen die bereikbaar zijn. Richt je op de basis en zorg dat de leerling deze goed onder de knie krijgt. Door de ambities niet te hoog te stellen bouw je aan motivatie en zelfvertrouwen. Je voorkomt hiermee frustratie, zowel bij de leerling als de leraar.