Studenten die leren programmeren, schrijven vaak programma’s die functioneel wel doen wat ze moeten doen, maar de code zelf is inefficiënt, onnodig complex of onleesbaar. Waar lopen studenten tegenaan als ze leren programmeren? Kan een oefensysteem met automatisch gegenereerde feedback studenten helpen betere code te schrijven? 

Binnen het onderwijs is het niet altijd mogelijk om voldoende tijd en aandacht te besteden aan de kwaliteit van code. Hieke Keuning heeft meer dan 2,5 miljoen codefragmenten van studenten geanalyseerd, waarin verschillende kwaliteitsproblemen ontdekt werden. Bijvoorbeeld veel te grote code-eenheden (classes), die in veel gevallen niet werden opgelost in latere versies van dezelfde code. In haar proefschrift onderzoekt Hieke Keuning hoe tools en softwaretechnologie ingezet kunnen worden bij startende studenten die leren programmeren en kleine programma’s schrijven.

Digitale tools

Uit onderzoek blijkt dat zelfs de code van professionele programmeurs vaak kwaliteitsproblemen bevat. Dit heeft tot gevolg dat code slecht onderhoudbaar is. Er zijn professionele tools die helpen bij het opsporen en verbeteren (‘refactoren’) van deze problematische code, maar die zijn meestal niet geschikt voor beginners. De digitale tools die beschikbaar zijn kunnen vaak automatisch feedback geven op programmeercode. Ook digitale tools specifiek voor het onderwijs kunnen vaak automatisch feedback geven op programmeercode. Deze feedback richt zich meestal echter op het aanwijzen van fouten in code. De gegenereerde feedback is minder gericht op het oplossen van fouten; of het verbeteren van functionele code van lage kwaliteit.

Tutorsysteem

Om studenten vroeg te leren hoe ze hun (functioneel correcte) code kunnen verbeteren, heeft Hieke Keuning met input van docenten een tutorsysteem ontwikkeld dat studenten leert hoe ze code kunnen refactoren. De tutor geeft automatische feedback op de stappen die de studenten nemen, en geeft hints als studenten vastlopen. Uit tests met het systeem blijkt dat studenten over het algemeen goed uit de opgaves komen, maar moeite hebben met bepaalde aspecten, zoals het versimpelen van complexe codestructuren. De hints kunnen hierbij helpen.
Lees hier meer over het Tutorsysteem van Hieke Keuning.
Door: Nationale Onderwijsgids