Simulating Students' Java Programming Errors with Large Language Models
Dit artikel toont aan dat grote taalmodellen, in het bijzonder Claude Sonnet 4, effectief diverse en realistische Java-programmeerfouten van studenten kunnen simuleren, wat een schaalbaar alternatief biedt voor het verzamelen van authentieke inzendingen voor educatief onderzoek en intelligente tutorensystemen.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een docent bent die zich probeert voor te bereiden op een grote programmeerles. Je weet dat je studenten fouten zullen maken, maar je kunt niet precies voorspellen wat die fouten zullen zijn totdat je de les daadwerkelijk geeft en het huiswerk verzamelt. Dit is een traag en kostbaar proces.
Dit artikel stelt een simpele vraag: Kunnen we een super-slimme AI (een Large Language Model, of LLM) gebruiken om zich voor te doen als een verwarde student en die fouten vooraf voor ons te genereren?
Hier is de opbouw van hun experiment, uitgelegd met alledaagse analogieën.
Het Doel: De "Nepstudent"-test
De onderzoekers wilden zien of een AI Java-code kon schrijven die er precies zo uitziet alsof een beginnende student het geschreven heeft—specifiek, code die logische fouten bevat.
- Logische fouten zijn als het schrijven van een recept waarin staat "voeg zout naar smaak toe" maar waarbij vergeten wordt om daadwerkelijk zout toe te voegen. De computer voert de code uit, maar het resultaat is fout omdat het denkproces gebrekkig was.
- De Uitdaging: Als je een AI simpelweg vraagt om "code te schrijven," schrijft het meestal perfecte code. Als je het vraagt om de code te "breken," maakt het vaak willekeurige, stomme fouten (zoals een komma zetten waar een punt hoort te staan) die echte studenten niet echt maken. Het doel was om de AI realistische fouten te laten maken.
Het Experiment: De "Proeverij"
De onderzoekers namen 37 verschillende programmeerproblemen uit een echte klaslokaal (CodeWorkout). Ze lieten vijf verschillende AI-modellen deze problemen proberen op te lossen, maar ze gebruikten drie verschillende "instructiestijlen" (prompts) om de AI te dwingen fouten te maken:
- Directe Opdracht (IO): "Hier is het probleem, geef een fout antwoord."
- Hardop Denken (CoT): "Denk na over de stappen, beslis waar je een foutje zou kunnen maken, en schrijf dan de foute code."
- Zelfcorrectie-lus (Self-Refine): "Schrijf een fout antwoord, bekritiseer het vervolgens, en verbeter het iets om een ander soort fout antwoord te maken."
Ze vergeleken de "nepfouten" van de AI vervolgens met 7and 74.000 echte fouten gemaakt door echte studenten.
De Twee Belangrijkste Regels voor een Goede Nepfout
Om nuttig te zijn, moesten de nepfouten van de AI aan twee tests voldoen:
- Diversiteit (De Variatie-test): Maakte de AI veel verschillende soorten fouten, of herhaalde het steeds weer dezelfde fout? (Stel je een chef voor die probeert 10 verschillende soorten verbrande koekjes te maken. Als ze er allemaal exact hetzelfde uitzien, is dat niet erg divers).
- Alignment (De "Echtheid"-test): Zagen de fouten van de AI eruit als iets wat een mens daadwerkelijk zou doen? (Als de AI code schrijft die fout is op een manier die een mens nooit zou bedenken, dan is het geen goede simulatie).
Wat Ze Vonden
1. De AI Kan Fouten Maken, Maar Niet Alle AI's Zijn Gelijk
Alle AI-modellen konden een verscheidenheid aan fouten genereren. Sommige waren echter beter in dit werk dan andere.
- Gemini 2.5 Pro was als een chaotische kunstenaar: het maakte een enorme variëteit aan fouten (hoge diversiteit), maar veel van die fouten waren vreemd en zagen er niet uit als echte studentenfouten.
- GPT-4o was als een voorzichtige student: het maakte steeds weer heel vergelijkbare fouten (lage diversiteit).
- Claude Sonnet 4 was de Goldilocks van de groep. Het vond de beste balans. Het maakte genoeg verschillende soorten fouten, maar deze lagen ook heel dicht bij wat echte studenten daadwerkelijk schrijven.
2. De "Hardop Denken"-truc Hielp
Wanneer de onderzoekers de AI vertelden om "stap voor stap na te denken" voordat de code werd geschreven (Chain-of-Thought), werden de fouten realistischer. Het was alsof de AI het proces simuleerde van een student die in de war raakt, in plaats van alleen maar willekeurig de code te breken.
3. De "Moeilijkheidsgraad"-factor
De onderzoekers keken naar hoe "moeilijk" een probleem was (gebaseerd op hoe vaak studenten probeerden het op te lossen).
- Makkelijke Problemen: De AI deed een geweldig werk bij het nabootsen van studenten.
- Moeilijke Problemen: Naarmate de problemen moeilijker werden, werden de fouten van de AI diverser (het probeerde veel verschillende foute paden), maar ze werden minder zoals die van echte studenten. Het is als een beginnende acteur die een complexe scène probeert te spelen; ze kunnen veel verschillende interpretaties proberen, maar geen van hen vangt de nuance van een echte menselijke prestatie volledig.
4. De "Blinde Proeverij" (Menselijke Experts)
De onderzoekers huurden menselijke experts in om naar een mix van echte studenten-code en AI-gegenereerde code te kijken. Zij wisten niet welke welke was.
- Het Resultaat: De experts werden 83,7% van de tijd gefopt. Ze dachten dat de code van de AI door een mens was geschreven.
- De Twist: De experts vonden de fouten van de AI zelfs plausibeler (realistischer) dan de fouten van de echte studenten. Waarom? Omdat de AI "schone" fouten maakte (zoals een klassieke tekstboekfout), terwijl echte studenten vaak slordige, complexe fouten maken met meerdere fouten tegelijk. De AI was als een "geïdealiseerde" verwarde student, terwijl echte studenten rommeliger zijn.
De Kern van het Verhaal
Dit artikel bewijst dat AI kan fungeren als een "plaatsvervanger" voor studenten om realistische programmeerfouten te genereren.
- Claude Sonnet 4 is momenteel de beste "student-simulator".
- Moeilijkere problemen maken de AI creatiever maar minder accuraat ten opzichte van echt menselijk gedrag.
- De Afweging: Je kunt een AI hebben die een enorme variëteit aan fouten maakt, óf een AI die zeer realistische fouten maakt, maar het is moeilijk om beide perfect tegelijkertijd te krijgen.
De onderzoekers suggereren dat dit een krachtig hulpmiddel is voor docenten en ontwikkelaars van educatieve software. In plaats van jaren te wachten op het verzamelen van duizenden echte studentenfouten om hun systemen te trainen, kunnen ze deze "nep" fouten gebruiken om betere bijlesprogramma's te bouwen en docenten te helpen anticiperen op waar studenten vast kunnen lopen.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.