ASSIST: Automated Feedback Generation for Syntax and Logical Errors in Programming Exercises
Introductory programming courses often rely on numerous exercises to help students practice and reinforce their skills. Commonly used automated tests fall short by merely identifying the issues without offering guidance on how to resolve them and manual reviews are too resource-intensive for use in MOOCs. To address these challenges, we present ASSIST—a tool designed to provide automated, detailed feedback on how to resolve issues in programming exercise submissions with both syntactic and logical errors. ASSIST combines fault-tolerant parsing with fixes based on the context of error nodes to resolve syntactic errors and give feedback. ASSIST feeds this valid program to the Sketch program synthesis tool to determine the needed changes from a set of potential changes induced by rewrite rules, and generates feedback on logic errors based on the needed changes. This dual approach allows ASSIST to offer actionable feedback on both syntax and logic issues in student submissions. We evaluated ASSIST on submissions from an online platform for secondary education. Our findings reveal that, for submissions with syntax errors, ASSIST delivers feedback on all syntax errors in 71% of cases and extends its feedback to cover logical errors in 34% of these submissions. When evaluating all incorrect submissions, ASSIST is able to give feedback on logical errors in 64% of cases. These results indicate that ASSIST can significantly enhance the feedback process in large-scale programming courses, offering a feasible and efficient alternative to current methods.
Thu 24 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:40 | |||
16:00 20mTalk | ASSIST: Automated Feedback Generation for Syntax and Logical Errors in Programming Exercises SPLASH-E | ||
16:20 20mTalk | An Observational Study of Undergraduate Teaching Assistants' use of Subgoal Learning Integrated in an Introductory Programming Course SPLASH-E Olivier Goletti ICTEAM, UCLouvain, Kim Mens Université catholique de Louvain, ICTEAM institute, Belgium, Felienne Hermans Vrije Universiteit Amsterdam DOI Pre-print | ||
16:40 20mTalk | Judicious: API Documentation for Novices SPLASH-E | ||
17:00 20mTalk | Mocking Temporal Logic SPLASH-E Colin Gordon Drexel University | ||
17:20 20mDay closing | Closing Remarks SPLASH-E |