Learning to program using hierarchical model-based debugging
Model-based Diagnosis is a well known AI technique that has been applied to software debugging for senior programmers, called Model-Based Software Debugging (MBSD). In this paper we describe the basis of MBSD and show how it can be used for educational purposes. By extending the classical diagnosis technique to a hierarchical approach, we built a programming learning system to allow a student to debug his program in different abstraction levels.
model-based diagnosis intelligent tutoring system pedagogical patterns program debugging