Modelleren is het nieuwe programmeren

Arend Rensink, professor aan Universiteit Twente, gaf een lezing over modelleren. Modelleren kan op twee verschillende manier gebruikt worden, namelijk om software te genereren/transformeren en om software te verifiëren. Met het doel om interesse te wekken voor kerninformatica biedt de Universiteit Twente hulp aan bij profielwerkstukken via de Twente Academy.

Wat maakt modelleren nou interessant? Via een model is het mogelijk om software te verifiëren, dit wordt model checking genoemd. Een model checker wordt gebruikt om aan de hand van een model een software systeem te testen. Hiervoor wordt van het gewenste gedrag een model gemaakt, waarna de uitvoer van het programma wordt vergeleken met dit model. De model checker geeft nu aan of de antwoorden correct zijn en geeft indien incorrect een tegenvoorbeeld.

Naast het testen van correctheid aan de hand van een model kun je ook programmeren door het maken van een model. Vanuit het model kan dan code gegenereerd worden. Dit kan bijvoorbeeld GROOVE door een graaf te maken welke het probleem modelleert. Eén van de werkstukthema’s gaat hiermee aan de slag door het oplossen van puzzels. De leerling creëert een graaf welke de speltoestand vertegenwoordigd en hij definieert de verschillende acties die plaats kunnen vinden. Hierna kan het programma alle mogelijke oplossingen aangeven en de volledige oplossingsruimte kan ook worden onderzocht (tevens in de vorm van een graaf).

Deze manier van werken maakt het voor een leerling mogelijk om een lastig probleem aan te pakken en op te lossen. Wel twijfel ik aan de eenvoudigheid van de gebruikte tools en of je op deze manier een leerling niet enkel leert werken met de tool. Arend geeft echter aan dat leerlingen vrij snel aan de slag konden met de tools. Erg sterk aan de opdrachten vind ik dat leerlingen gedwongen wordt om na te denken over de essentie van een puzzel. Wat zijn nu de essentiële concepten en acties in het spel? Hierdoor valt dit ook prima te scharen onder Computational Thinking.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *