Loading [MathJax]/extensions/TeX/ietmacros.js
Rewrite Rules for Debugging Student Programs in Programming Tutors | IEEE Journals & Magazine | IEEE Xplore

Rewrite Rules for Debugging Student Programs in Programming Tutors


Abstract:

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...Show More

Abstract:

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.
Published in: IEEE Transactions on Learning Technologies ( Volume: 11, Issue: 4, 01 Oct.-Dec. 2018)
Page(s): 429 - 440
Date of Publication: 24 August 2017

ISSN Information:

Funding Agency:


Contact IEEE to Subscribe

References

References is not available for this document.