Is Vibecoding de nieuwe Pritt Stift van de leraar of is het Computational Thinking 3.0?

Vooraf: dit is een blogpost om in ieder geval een deel van het denkproces te documenteren. Het is géén wetenschappelijke publicatie of zo!

Als jonge docent, zo 1995-2000 was knippen en plakken iets wat letterlijk genomen moest worden. Lessen voorbereiden deed je door kopieën te maken van die delen van het boek die je wilde gebruiken, die knipte je uit, plakte je op een nieuw A4 (vaak dan in combinatie met andere tekst of een andere afbeelding) en als je zo al je materiaal bij elkaar had, dan ging je naar het kopieerapparaat om ze op speciale overheadsheets (die wat tegen hitte konden, níet de goedkopere waar je alleen op kon schrijven!)  te kopiëren.
Een Pritt Stift was, naast een schaar, een essentieel hulpmiddel.

Vibecoding

Eerder schreef ik in een blogpost al over de competenties die een leraar zou moeten hebben om te kunnen vibecoden. Ik realiseer me dat ik daar geen definitie gegeven heb van wat vibecoden eigenlijk is. Terwijl het blijkbaar inmiddels (de term is net 7 maanden oud) al te pas en te onpas wordt gebruikt. Ik heb vorige week nog iemand uitgelegd dat Wikipedia nooit als oorspronkelijke bron kan dienen (altijd secundair), maar natuurlijk heb ik het bericht over Vibecoding daar wel als bron voor de primaire bronnen. De term wordt toegeschreven aan Andrej Karpathy en Ars Technica heeft de screenshot uit februari 2025 online staan met zijn definitie. Ik geef hem even in het Engels:

“There’s a new kind of coding I call ‘vibe coding,’ where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.” He described the process in deliberately casual terms: “I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.”

Relevant is hier dat vibecoding dus niet elk soort “programmeren met AI” of “programmeren met een LLM” is. Als je GitHub copilot in Visual Studio Code gebruikt, dan is dat, volgens deze definitie, géén vibecoding. Daar vind ik dat logisch, maar heel strikt toepassen ervan wordt wat ingewikkelder. Veel van de tools die ik hier opgenomen heb, voldoen aan deze voorwaarde, maar niet allemaal. De 22 voorbeelden van het vibecoden van wegwerpapplicaties wél, maar in een aantal van de andere gevallen heb ik wel degelijk naar het debugvenster van Google Chrome moeten kijken, of soms zelf naar de code om een idee te krijgen van wat er mogelijk mis kon zijn (één keer gebruikte AI Studio een verwijzing naar een niet bestaande versie van een library, daar kwam de tool zelf niet achter).

Vibecoding als Pritt Stift?

Wat betreft het eerste deel van mijn vraag, kan ik redelijk stellig zijn. Ja, vibecoding, al dan niet in zijn zuivere vorm, is voor mij wat de Pritt Stift vroeger was: een hulpmiddel bij het maken van onderwijsmateriaal dat ik mogelijk maar één keer gebruik, indien relevant deel met anderen, maar wat vooral ook snel en laagdrempelig beschikbaar is.
De vervolgvraag “en moet elke leraar deze Pritt Stift kunnen gebruiken?” is wat mij betreft niet eentje van “moeten”, maar meer een van “als het ze helpt om sneller dan nu in te kunnen spelen op actualiteiten of behoeften van hun leerlingen, dan lijkt me dat ze dat heel erg graag willen”.

Maar…dan komen we bij de vraag hoe een leraar dat kan leren. Die Pritt Stift en het maken van overheadsheets was 5 minuten uitleg van een collega en vooral niet vergeten dat je niet de goedkope overheadsheets mocht gebruiken want die zouden smelten in het kopieerapparaat. Hoe leer je een student aan de pabo of de lerarenopleiding hoe te vibecoden?
In mijn geval kan ik terugvallen op jarenlange ervaring. Zowel met het programmeren/coderen in verschillende programmeertalen, de denkstappen die bij computational thinking horen zijn een tweede natuur voor mij. Ook als ik aan het vibecoden ben. Maar wat als ze dat niet zijn?

Vibecoding is Computational Thinking (CT)?

Tijdens het nadenken over dit bericht kwam ik een blogpost tegen met als titel “Vibe coding is computational thinking“. Eerst dacht ik “nee, jij begrijpt er niets van”, toen ik het bericht begon te lezen. Maar aan het einde werd duidelijk dat ook de auteur van het bericht tot de conclusie gekomen was dat voor haar, vibecoding een handig hulpmiddel geweest was omdat zij wist wanneer zij de tool kon vertrouwen. De laatste alinea van haar bericht had als verwarrende titel “Let Students Do This”, maar ze bedoelde gelukkig niet om geen programmeeronderwijs meer te geven, maar om dit als een eindproject in het traject op te nemen en ze zo ook dit te laten ervaren.
Dat lijkt me een verstandige aanpak. Zoals we bij CT al gebruik maken van unplugged activiteiten om leerlingen eerst zonder digitale tools na te laten denken over de verschillende concepten van CT. Zo zou je dan de stap kunnen maken naar gebruik van technologie en (daarna) AI.

Al met al blijft dus overeind wat we een paar jaar geleden schreven over hoe je CT in je onderwijs kunt integreren. In die bijdrage schreven we ook al over de impact van AI op CT:

Komst van nieuwe technologieën vraagt een herziening van de onderwijsaanpak
De evolutie van technologie, met name de opkomst van kunstmatige intelligentie (AI) en andere vooruitstrevende computertechnologieën, vraagt een herziening van de traditionele aanpak van CT in het onderwijs. Programmeren blijft belangrijk, maar de volgordelijkheid van denkactiviteiten is wellicht minder logisch. Vroeger leerden kinderen om ‘klassieke’ programma’s te schrijven, zoals instructies voor een robot. Tegenwoordig kunnen ze bijvoorbeeld leren om computers te trainen om emoties in gezichtsuitdrukkingen te detecteren, zoals herkennen op foto’s of iemand blij of verdrietig is, en zo begrip ontwikkelen over hoe mensen emoties herkennen bij anderen. CT evolueert waarschijnlijk van het zelf bedenken van precieze instructies naar het handig selecteren en gebruiken van data om vervolgens computers hiermee te laten ‘leren’. Het vraagt mogelijk nog meer, of in ieder geval een andere didactische aanpak om AI-technologie te leren doorgronden en ontwerpen (Tedre et al., 2021).

Het artikel van Matti Tedre, Peter Denning en Tapani Toivonen waar we toen naar verwezen bevat een tabel waarin CT 1.0 en CT 2.0 (met AI) naast elkaar gezet werden. Nou heb ik een hekel aan dat soort toevoegingen omdat het bij softwareversies impliceert dat de hogere versie nieuwer en beter is met meer functionaliteit. Nou klopt nieuwer zeker wel, maar anders dan bij software betekent een 2.0 versie hier zeker niet dat de 1.0 achterhaald is. De tabel die ze daar gebruiken, het artikel is van 2021, houdt nog geen rekening met vibecoding of het breed beschikbaar zijn van taalmodellen. Ik heb de tabel vertaald naar het Nederlands (laten vertalen door ChatGPT en daarna aangepast want ook hier kun je dat echt niet blindelings overnemen!) en aangevuld met een extra kolom voor vibecoding of CT 3.0.

De afbeelding wordt groter als je er op klikt.

Voorlopige conclusie en afronding

Mijn conclusie na het invullen van de tabel: ik ga het niet meer over CT 3.0 hebben, werkt gewoon niet voor mij.
Nuttig was (voor mezelf in ieder geval) om de verschillende aspecten voor vibecoding te vergelijken met CT zoals we het nu meestal aanleren of bespreken. Waar de essentie van Tedre et al. (en ook de reden van vermelding in onze bijdrage) was dat de stappen veranderen, denk ik dat het nu vooral zaak wordt om leerlingen en studenten ook te leren wat ze wanneer kunnen inzetten.
Want het is niet of-of. Het gebruik van vibecoding voor wegwerpapplicaties hebben we al besproken, maar je kunt het natuurlijk ook inzetten tijdens de vraagarticulatiefase van een formeel systeem. Dus waar bij CT 1.0 staat “formuleer en formaliseer het probleem” zou dat ook in de vorm van een aantal snel ontwikkelde prototypes die op basis van specificaties in natuurlijke taal en met behulp van een LLM ontwikkeld zijn. In andere gevallen zul je veel data hebben en zul je op basis daarvan moeten kijken wat onderliggende structuren en modellen kunnen worden. Evolutie dus, geen revolutie. Ook relevant als je als school aan de slag gaat met de nieuwe kerndoelen.

 

 

 

 

0 0 stemmen
Bericht waardering
Abonneer
Abonneren op

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie gegevens worden verwerkt.

0 Reacties
Inline Feedback
Bekijk alle reacties
0
Tips, opmerkingen, aanvullingen, ideeën naar aanleiding van dit bericht?x