User Tools

Site Tools


papers:tlt2017:start

This is an old revision of the document!


Rewrite rules for debugging student programs in programming tutors

Data-driven intelligent tutoring systems learn to provide feedback based on past student behavior, reducing the effort required for their development. A major obstacle to applying data-driven methods in the programming domain is the lack of meaningful observable actions for describing the students’ problem-solving process.

We propose rewrite rules as a language-independent formalization of programming actions in terms of code edits. We describe a method for automatically extracting rewrite rules from students’ program-writing traces, and a method for debugging new programs using these rules.

We used these methods to automatically provide hints in a web application for learning programming. In-class evaluation showed that students receiving automatic feedback solved problems faster and submitted fewer incorrect programs. We believe that rewrite rules provide a good basis for further research into how humans write and debug programs.

Paper accepted for publication in IEEE Transactions on Learning Technologies.

papers/tlt2017/start.1530722206.txt.gz · Last modified: 2018/07/04 18:36 by timotej