ParaStudent: Generating and Evaluating Realistic Student Code by
  Teaching LLMs to Struggle
Large Language Models (LLMs) have shown strong performance on programming
tasks, but can they generate student-like code like real students - imperfect,
iterative, and stylistically diverse? We present ParaStudent, a systematic
study of LLM-based "student-like" code generation in an introductory
programming course setting. Using a dataset of timestamped student submissions
across multiple semesters, we design low- and high-resolution experiments to
model student progress and evaluate code outputs along semantic, functional,
and stylistic dimensions. Our results show that fine-tuning significantly
improves alignment with real student trajectories and captures error patterns,
incremental improvements, and stylistic variations more faithfully. This study
shows that modeling realistic student code requires capturing learning dynamics
through context-aware generation, temporal modeling, and multi-dimensional
evaluation. Code for experiments and evaluation is available at
https://github.com/mmiroyan/ParaStudent.
687fd7216b4cbf38ad40e0ee
Mihran Miroyan
687fd7216b4cbf38ad40e0ef
Rose Niousha
687fd7216b4cbf38ad40e0f0
Joseph E. Gonzalez
687fd7216b4cbf38ad40e0f1
Gireeja Ranade
687fd7216b4cbf38ad40e0f2
Narges Norouzi
ParaStudent: Generating and Evaluating Realistic Student Code by
  Teaching LLMs to Struggle
Large Language Models (LLMs) have shown strong performance on programming
tasks, but can they generate student-like code like real students - imperfect,
iterative, and stylistically diverse? We present ParaStudent, a systematic
study of LLM-based "student-like" code generation in an introductory
programming course setting. Using a dataset of timestamped student submissions
across multiple semesters, we design low- and high-resolution experiments to
model student progress and evaluate code outputs along semantic, functional,
and stylistic dimensions. Our results show that fine-tuning significantly
improves alignment with real student trajectories and captures error patterns,
incremental improvements, and stylistic variations more faithfully. This study
shows that modeling realistic student code requires capturing learning dynamics
through context-aware generation, temporal modeling, and multi-dimensional
evaluation. Code for experiments and evaluation is available at
https://github.com/mmiroyan/ParaStudent.
ParaStudent evaluates LLM-based code generation to mimic real student progress, capturing error patterns, incremental improvements, and stylistic variations through fine-tuning and multi-dimensional evaluation.
Large Language Models LLM-based student-like code generation timestamped student submissions fine-tuning context-aware generation temporal modeling multi-dimensional evaluation