Programmeren is niet iets wat je op school hoeft te leren, aldus Henriëtte Maassen van den Brink, voorzitter van de onderwijsraad. Programmeren zou kennis zijn die je „na een jaar toch weer weg kan gooien” (NRC, 9/5). Als docent online marketing op het hbo kijk ik hier anders tegenaan. Ik zou willen dat mijn studenten al veel jonger iets van programmeren zouden hebben geleerd.
In twintig jaar ICT-stimuleringsbeleid in het onderwijs wordt telkens weer de nadruk gelegd op softe thema’s als mediawijsheid en de brede inzet van ICT als leermiddel. Dat is allemaal belangrijk, maar het is zonde dat we informatica als hard bètavak verwaarloosd hebben. Ik pleit ervoor dat we informatica net zo serieus nemen als natuur- en scheikunde.
Het idee dat de ontwikkelingen in de ICT zo snel gaan, leeft vooral bij mensen die er weinig van weten. Als je meer abstractie aankan, gaat je kennis langer mee. Twintig jaar oude kennis van bijvoorbeeld PHP, Python of Excel is echt nog prima bruikbaar.
Net zo universeel als de stelling van Pythagoras
Natuurlijk, ICT is in zeker opzicht een moving target, en dat maakt het moeilijk curriculumstandaarden te formuleren die twintig jaar meegaan. Maar ik denk toch dat dat kan. Het doel van informaticaonderwijs moet zijn dat leerlingen vertrouwd raken met concepten als variabelen, relationele databases, algoritmes, condities en iteraties. Dat zijn logische patronen die net zo universeel zijn als de stelling van Pythagoras.
Welke taal je dan precies geleerd hebt, is niet de kern van de zaak. Steeds vaker zie je ook dat scholen kiezen voor leuke en makkelijke programmeertalen als Scratch, die niet echt in de beroepspraktijk inzetbaar zijn, maar waarmee je wel dat soort principes kunt leren.
Is het zo dat nieuwe computertoepassingen de kennis van programmeren overbodig maken? We zien inderdaad dat standaardproblemen makkelijker oplosbaar zijn met goedkopere en gebruiksvriendelijkere tools. Maar hoever kom je met standaardtools als je bijvoorbeeld werkt bij een webshop met miljoenen klanten, als je aan een biogenetisch promotieonderzoek werkt, of als je voor de taak staat om het energiegebruik van een kantoorcomplex met slimme oplossingen te reduceren?
Als er al een standaardoplossing is, heb jij dan de vaardigheden om je probleem exact te verwoorden, die standaardoplossing te begrijpen, en te onderzoeken in hoeverre probleem en oplossing bij elkaar passen?
De kunde om met technici te overleggen
Ik zou de eindeloze stroom met mislukte ICT-projecten grotendeels willen toeschrijven aan het ontbreken van inzicht in de principes van programmeren bij een deel van de betrokkenen. De maatschappij heeft niet alleen goede programmeurs nodig, maar vooral ook mensen die genoeg abstract inzicht hebben om goed met de echte technici te kunnen overleggen.
Wat we in het fundamenteel onderwijs leren is overigens niet alleen bedoeld om een plek op de arbeidsmarkt te veroveren. Abstracties helpen je de wereld om je heen te begrijpen. Als je in een vliegtuig zit, is het leuk om te weten hoe de vorm van de vleugels helpt om op te stijgen. Dat heb je bij natuurkunde geleerd. Als je op Facebook zit vraag je je misschien af hoe Facebook precies berekent welk bericht wel of niet getoond wordt. Zoiets kan je leren bij informatica.
Meer en beter informaticaonderwijs is niet iets wat je even met een eenvoudige beleidswijziging tot stand brengt. Er komen steeds betere methodieken, maar het ontbreekt nog aan goed opgeleide docenten. Dat is een armoedige situatie, niet iets om met bagatelliserende opmerkingen recht te praten.
Juist een nieuwe visie van de onderwijsraad kan helpen om de nodige vernieuwing op gang te brengen.