This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
papers:tlt2017:start [2018/07/04 18:36] timotej removed |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 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 [[https:// | ||
- | |||
- | * {{: | ||
- | |||