TL;DR
This paper introduces a fully automated program repair method that leverages correct student solutions to provide scalable, high-quality feedback for introductory programming assignments, especially useful in large online courses.
Contribution
The paper presents a novel automated repair algorithm that uses existing correct solutions to repair incorrect attempts, enabling scalable feedback in programming education.
Findings
97% of incorrect attempts repaired
81% of repairs are small and high-quality
Promising user study results with an average usefulness grade of 3.4
Abstract
Providing feedback on programming assignments is a tedious task for the instructor, and even impossible in large Massive Open Online Courses with thousands of students. Previous research has suggested that program repair techniques can be used to generate feedback in programming education. In this paper, we present a novel fully automated program repair algorithm for introductory programming assignments. The key idea of the technique, which enables automation and scalability, is to use the existing correct student solutions to repair the incorrect attempts. We evaluate the approach in two experiments: (I) We evaluate the number, size and quality of the generated repairs on 4,293 incorrect student attempts from an existing MOOC. We find that our approach can repair 97% of student attempts, while 81% of those are small repairs of good quality. (II) We conduct a preliminary user study on…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
