Automated Feedback Generation for Introductory Programming Assignments

被引:233
作者
Singh, Rishabh [1 ]
Gulwani, Sumit [2 ]
Solar-Lezama, Armando [1 ]
机构
[1] MIT CSAIL, Cambridge, MA USA
[2] Microsoft Res, Redmond, WA USA
关键词
Automated Grading; Computer-Aided Education; Program Synthesis;
D O I
10.1145/2499370.2462195
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 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 the Introduction to Programming course at MIT (6.00) and MITx (6.00x). Our results show that relatively simple error models can correct on average 64% of all incorrect submissions in our benchmark set.
引用
收藏
页码:15 / 26
页数:12
相关论文
共 44 条
[1]   LAURA, A SYSTEM TO DEBUG STUDENT PROGRAMS [J].
ADAM, A ;
LAURENT, JP .
ARTIFICIAL INTELLIGENCE, 1980, 15 (1-2) :75-122
[2]  
Ahmed U.Z, 2013, IJCAI
[3]  
Alur R., 2013, IJCAI
[4]  
Andersen Erik., 2013, CHI
[5]  
[Anonymous], POPL
[6]  
[Anonymous], COMPUT ASSIST INSTR
[7]  
[Anonymous], PLDI
[8]  
[Anonymous], THESIS UC BERKELEY
[9]  
[Anonymous], 2012, WORKSH 26 AAAI C ART
[10]  
[Anonymous], CACM