The LISP tutor: it approaches the effectiveness of a human tutor
BYTE - Lecture notes in computer science Vol. 174
PROUST: Knowledge-Based Program Understanding
IEEE Transactions on Software Engineering
Adapting instruction to the student's capabilities
Journal of Artificial Intelligence in Education
Exploiting program schemata in an automated program debugger
Journal of Artificial Intelligence in Education
Exploiting program schemata in a Prolog tutoring system
Exploiting program schemata in a Prolog tutoring system
Logic Program Transformation through Generalization Schemata
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
Extensible Logic Program Schemata
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Conceptual and Meta Learning During Coached Problem Solving
ITS '96 Proceedings of the Third International Conference on Intelligent Tutoring Systems
Automatic program analysis in a prolog intelligent teaching system
Automatic program analysis in a prolog intelligent teaching system
Constraint-based Error Diagnosis in Logic Programming
Proceedings of the 2005 conference on Towards Sustainable and Scalable Educational Innovations Informed by the Learning Sciences: Sharing Good Practices of Research, Experimentation and Innovation
International Journal of Artificial Intelligence in Education
An interactive functional programming tutor
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Can soft computing techniques enhance the error diagnosis accuracy for intelligent tutors?
ITS'12 Proceedings of the 11th international conference on Intelligent Tutoring Systems
A programming tutor for haskell
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Hi-index | 0.00 |
We present a Prolog programming technique-based approach to guided programming and automated error analysis in Prolog tutoring. The concept of Prolog programming technique is used to characterize and classify programs. Each class of programs use the same programming technique and share the common pattern of code. A set of programming technique grammar rules are defined for each class of programs. These rules are used for programming technique recognition, program construction, and program parsing. A programming technique frame is used to represent the programming technique-related knowledge for each class of programs. A program frame is used to represent the coding-related knowledge for the reference program of each of the most specialized programming techniques. The representation of the programming technique grammar rules, programming technique-related knowledge, and coding-related knowledge provides the basis for guided programming and automated error analysis in tutoring. Our approach to error analysis however does not rely on the representation of buggy versions of the program. Automated error analysis in our approach is done on the basis of comparing the parsings of both the student program and the reference program. Our approach has been implemented in a Prolog tutoring system called the Prolog Tutor, which has been tested on a collection of 125 programs for list reversal. The Prolog Tutor performs well on these tests in terms of programming technique recognition, error detection, and error correction.