PROUST: an automatic debugger for PASCAL programs
BYTE - Lecture notes in computer science Vol. 174
Learning to program = learning to construct mechanisms and explanations
Communications of the ACM
Intention-based diagnosis of errors in novice programs
Intention-based diagnosis of errors in novice programs
PROUST: An automatic debugger for Pascal programs
Artificial intelligence and instruction: Applications and methods
The programmer's apprentice
The C programming language
Understanding natural programs using proper decomposition
ICSE '91 Proceedings of the 13th international conference on Software engineering
Cognitive strategies and looping constructs: an empirical study
Communications of the ACM
Automatic Program DeBugging for Intelligent Tutoring Systems
Automatic Program DeBugging for Intelligent Tutoring Systems
A Knowledge-Based Approach to Program Understanding
A Knowledge-Based Approach to Program Understanding
Knowledge-Based Program Analysis
IEEE Software
KBEmacs: A Step Toward the Programmer''s Apprentice
KBEmacs: A Step Toward the Programmer''s Apprentice
A knowledge-based approach to automatic program analysis
A knowledge-based approach to automatic program analysis
Transformation-Based Diagnosis of Student Programs for Programming Tutoring Systems
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Knowledge-based programming tutors are supposed to analyze thestudents‘ programs using knowledge of the concepts of programminglanguage, skills to build programs, misconceptions of noviceprogrammers, and information about the programs to be analyzed. Thelast one provides the programming tutor with the intentions ofprogrammers, and this allows the tutor to do an intention-baseddiagnosis (Johnson, 1996). This is given to the system in the formof a problem description by human instructors. However, it is veryhard for instructors to write a problem description. For instructors,the simplest way to describe a problem may be to write a modelprogram of that problem. This paper describes the system named GOES,a GOal Extraction System, which extracts the purposes (Goals) of amodel program automatically.GOES is a susbsystem of C-Tutor, a knowledge-based C ProgramingTutor (Hahn et al., 1996). GOES extracts implemented plans from a modelprogram, and then extract goals from the plans according to goal/planhierarchies. The efficiency of GOES depends on the process of planextraction. In GOES, only pairs of labels and variables of eachstatement are used to extract candidate plans. Exact matching isfollowed only for theses candidate plans. In addition, to extractplans more efficiently, we introduce the concept of necessary andsufficient conditions of a plan to the model program. Using thismethod, plan candidates can be extracted efficiently andsuccessfully.