Onderzoek - ontwikkeling en innovatie

Opleiding, training, onderwijs

Tutorsysteem leert studenten beter programmeren

Steeds meer mensen willen leren programmeren. 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? Hieke Keuning is aan de Open Universiteit gepromoveerd op het proefschrift “Automated Feedback for Learning Code Refactoring” waarin deze problematiek wordt behandeld.

Hieke Keuning

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. Uit onderzoek blijkt dat zelfs de code van professionele programmeurs vaak kwaliteitsproblemen bevat. Dit heeft tot gevolg dat code slecht onderhouden kan worden. Er zijn professionele tools die helpen bij het opsporen en verbeteren (‘refactoren’) van deze problematische code, maar die zijn meestal niet geschikt voor beginners. 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.

Open Universiteit
www.ou.nl


Meer nieuws over Onderzoek - ontwikkeling en innovatie
Meer nieuws over Opleiding, training, onderwijs