Program Analysis and Manipulation to Reproduce Learners' Erroneous Reasoning

Pedagogical research shows that learner errors are seldom random but systematic. Good teachers are capable of inferring from learners’ input the erroneous procedure they are following, and use the result of such deep cognitive diagnoses to repair its incorrect parts. We report a method for the automatic reconstruction of such erroneous procedures based on learner input and the analysis and manipulation of logic programs. The method relies on an iterative application of two algorithms: an innovative use of algorithmic debugging to identify learner errors by the analysis of (initially) correct (sic) Prolog-based procedures, and a subsequent program manipulation phase where errors are introduced into (initially) correct procedures. The iteration terminates with the derivation of an erroneous procedure that was followed by the learner. The procedure, and its step-wise reconstruction, can then be used to inform remedial feedback.