User Tools

Site Tools


papers:abml:start

Identifying typical approaches and errors in Prolog programming with argument-based machine learning

In programming courses with high student-teacher ratios, it is nearly impossible to provide feedback to all homeworks submitted by students. The alternative would be to generate automatic feedback, however this would require teachers to specify all possible errors made by students. Instead we propose a data-driven algorithm for identification of typical approaches and errors. We present the problem as supervised rule learning, where each learned rule can be used as a hint to a student. To learn rules, we use programs submitted by students as learning instances that are classified either as correct or incorrect solutions. The attributes for machine learning correspond to patterns from an abstract syntax tree. As the space of patterns is immense and we wish to use only meaningful patterns, we used the argument-based machine learning (ABML) process, where an expert and ABML interactively exchange arguments until the model is good enough. We provide a step-by-step demonstration of the ABML process, describe some of the induced rules and explain how are they used to automatically generate hints to students. Finally, we evaluate classification accuracy of learned rules on 42 Prolog exercises from the Programming Languages Course at University of Ljubljana.

papers/abml/start.txt · Last modified: 2018/06/18 17:30 by martin