Guided programming and automated error analysis in an intelligent Prolog tutor

  • Authors:
  • Jun Hong

  • Affiliations:
  • School of Computer Science, The Queen's University of Belfast, Belfast BT7 1NN, UK and School of Computing and Mathematics, University of Ulster at Jordanstown, Newtownabbey, Co. Antrim BT37 0QB, ...

  • Venue:
  • International Journal of Human-Computer Studies
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.