Automated Feedback Generation for Introductory Programming Assignments

04/08/2012
by   Rishabh Singh, et al.
0

We present a new method for automatically providing feedback for introductory programming problems. In order to use this method, we need a reference implementation of the assignment, and an error model consisting of potential corrections to errors that students might make. Using this information, the system automatically derives minimal corrections to student's incorrect solutions, providing them with a quantifiable measure of exactly how incorrect a given solution was, as well as feedback about what they did wrong. We introduce a simple language for describing error models in terms of correction rules, and formally define a rule-directed translation strategy that reduces the problem of finding minimal corrections in an incorrect program to the problem of synthesizing a correct program from a sketch. We have evaluated our system on thousands of real student attempts obtained from 6.00 and 6.00x. Our results show that relatively simple error models can correct on average 65 of all incorrect submissions.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/30/2021

Verifix: Verified Repair of Programming Assignments

Automated feedback generation for introductory programming assignments i...
research
11/20/2017

Data-Driven Feedback Generation for Introductory Programming Exercises

This paper introduces the "Search, Align, and Repair" data-driven progra...
research
07/13/2021

Automatic Classification of Error Types in Solutions to Programming Assignments at Online Learning Platform

Online programming courses are becoming more and more popular, but they ...
research
06/03/2022

Automated Feedback Generation for Competition-Level Code

Competitive programming has become a popular way for programmers to test...
research
03/13/2021

Deep Discourse Analysis for Generating Personalized Feedback in Intelligent Tutor Systems

We explore creating automated, personalized feedback in an intelligent t...
research
08/12/2017

TraceDiff: Debugging Unexpected Code Behavior Using Trace Divergences

Recent advances in program synthesis offer means to automatically debug ...
research
12/02/2020

Effective Feedback for Introductory CS Theory: A JFLAP Extension and Student Persistence

Computing theory analyzes abstract computational models to rigorously st...

Please sign up or login with your details

Forgot password? Click here to reset