Data-Driven Hint Generation in Vast Solution Spaces: a Self-Improving Python Programming Tutor

In IJAIED 27 (1): "Special Issue on AI-Supported Education in Computer Science "

Publication information


Automatic hint generation, Data-driven tutoring, Programming tutors, Social computing, Solution space


To provide personalized help to students who are working on code-writing problems, we introduce a data-driven tutoring system, ITAP (Intelligent Teaching Assistant for Programming). ITAP uses state abstraction, path construction, and state reification to automatically generate personalized hints for students, even when given states that have not occurred in the data before. We provide a detailed description of the system’s implementation and perform a technical evaluation on a small set of data to determine the effectiveness of the component algorithms and ITAP’s potential for self-improvement. The results show that ITAP is capable of producing hints for almost any given state after being given only a single reference solution, and that it can improve its performance by collecting data over time.