Simulating Students' Java Programming Errors with Large Language Models

Created: 2026-06-15 | Tags: llmstem-educationstudent-experienceintelligent-tutoringlearning-analyticsefficacy-study

Keramati, Cao, Mohammadi, Warschauer & Shi (2026) โ€” University of California, Irvine. ๐Ÿ“„ Full text (arXiv)

Summary

This paper investigates whether large language models can serve as scalable proxies for students by simulating realistic logical errors in code submissions. Using the CodeWorkout dataset of 74,000+ unique student Java submissions across 37 problems, the authors evaluate five LLMs under three prompting strategies: Input-Output (IO), Chain-of-Thought (CoT), and iterative Self-Refine.

Key Findings

Methodology

The study used the CodeWorkout dataset with 74,000+ unique student Java submissions. Five LLMs were tested under three prompting strategies. Performance was assessed on two dimensions: diversity (range of distinct error patterns) and alignment (correspondence with authentic student mistakes). A blinded expert annotation study with 401 samples confirmed the indistinguishability of synthetic and authentic errors.

Related Work

This work extends research on LLM-based student simulation and student misconception identification. It connects to programming intelligent tutoring systems and student modeling by offering a scalable method for generating training and evaluation data. The findings also inform AI-generated traces from novice programmers and research on code review with generative AI in CS1.

Related Pages

Citation

APA: Keramati, A., Cao, J., Mohammadi, I., Warschauer, M., & Shi, Y. (2026). Simulating Students' Java Programming Errors with Large Language Models. arXiv:2606.14113.