How Helpful do Novice Programmers Find the Feedback of an Automated Repair Tool?
Oka Kurniawan, Christopher M. Poskitt, Ismam Al Hoque, Norman Tiong, Seng Lee, Cyrille J\'egourel, Nachamma Sockalingam

TL;DR
This study explores how novice programmers perceive automated repair tools like CLARA, revealing that students benefit from knowing where errors occur but often struggle to understand the repairs, highlighting the importance of clear feedback.
Contribution
The paper extends CLARA to support more Python features, integrates it with Jupyter Notebooks, and investigates novice interactions with the tool through a user study.
Findings
Novices struggle to understand proposed repairs.
Students value knowing error locations without fixes.
Clearer feedback may enhance learning effectiveness.
Abstract
Immediate feedback has been shown to improve student learning. In programming courses, immediate, automated feedback is typically provided in the form of pre-defined test cases run by a submission platform. While these are excellent for highlighting the presence of logical errors, they do not provide novice programmers enough scaffolding to help them identify where an error is or how to fix it. To address this, several tools have been developed that provide richer feedback in the form of program repairs. Studies of such tools, however, tend to focus more on whether correct repairs can be generated, rather than how novices are using them. In this paper, we describe our experience of using CLARA, an automated repair tool, to provide feedback to novices. First, we extended CLARA to support a larger subset of the Python language, before integrating it with the Jupyter Notebooks used for our…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Software Engineering Research · Software Testing and Debugging Techniques
