A cooperative system for the interactive debugging of novice programming errors

The adaptability of an Intelligent Tutoring System (ITS) is largely determined by its ability to observe and interpret the learning process of the student, specially when she/he performs problem-solving activities. This chapter describes a prototype of an Error Detection, Diagnosis and Correction (EDDC) system in order to be used in CAPRA: An intelligent Tutoring system to teach novice programmers (we have focused on program specification). Our approach is based on (a) an interactive tool facilitating problem solving tasks and communication activities, (b) an intention-based diagnosis supported by knowledge about the domain, the specific problem to be solved, and the inferred student-model, and (c) a Tutor component integrated in the debugger where pedagogic remediation is provided. Finally, the implementation of the EDDC system is based on a blackboard architecture where the different Knowledge Sources cooperate to perform the tasks of error detection, diagnosis and correction.