LeafTutor: An AI Agent for Programming Assignment Tutoring
Madison Bochard, Tim Conser, Alyssa Duran, Lazaro Martull, Pu Tian, Yalong Wu
TL;DR
LeafTutor addresses the shortage of instructors in programming education by delivering guided, step-by-step tutoring powered by LLMs and grounded in assignment-specific materials and code-execution feedback. The system architecture includes instructor and student interfaces with an integrated code editor and backend compiler, enabling context-aware responses derived from retrieved course content. Experimental testing across four Java assignments demonstrates competence in diagnosing conceptual, structural, and implementation issues, while runtime-error tracing reveals current limitations in precise fault localization. Overall, LeafTutor shows potential for classroom deployment as a scalable, personalized tutoring solution and sets the stage for deeper integration with learning management systems and adaptive student models.
Abstract
High enrollment in STEM-related degree programs has created increasing demand for scalable tutoring support, as universities experience a shortage of qualified instructors and teaching assistants (TAs). To address this challenge, LeafTutor, an AI tutoring agent powered by large language models (LLMs), was developed to provide step-by-step guidance for students. LeafTutor was evaluated through real programming assignments. The results indicate that the system can deliver step-by-step programming guidance comparable to human tutors. This work demonstrates the potential of LLM-driven tutoring solutions to enhance and personalize learning in STEM education. If any reader is interested in collaboration with our team to improve or test LeafTutor, please contact Pu Tian (pu.tian@stockton.edu) or Yalong Wu (wuy@uhcl.edu).
