
LISP TUTOR (Anderson & Reiser 1985)
LISP TUTOR (Anderson and Reiser 1985) is an Intelligent Tutoring System developed to teach the basic principles of programming in LISP.
In the LISP TUTOR the expert model was created as a series of correct production rules for creating LISP programs and a learner model was built as a subset of these correct production rules along with common incorrect production rules (Holt et al 1991).
LISP TUTOR is based on the principle of "learning by doing" where the learner discovers the productions while working through problems. The tutor acts as a problem solving guide but never states the productions to be learned.
LISP TUTOR is an application of Andersons ACT* theory (Anderson 1983). ACT* theory is one of the earliest attempts to establish a complete theory of human cognition. It combines declarative knowledge in the form of semantic nets with procedural knowledge in the form of production rules. In ACT* learning is accomplished by forming new procedures through the combination of existing production rules.
The main principles of the ACT theory are :
Anderson and his team used GRAPES (Goal Restricted Production System Architecture) to represent the knowledge in LISP TUTOR as approximately 325 production rules. The system also embodies around 425 buggy production rules which represent misconceptions which any novice programmer can easily have.
LISP TUTOR employs model tracing to provides a learner with detailed feedback. The learner is given a problem and the tutor monitors the learners input character by character. The tutor generates all the possible next characters using both correct and buggy production rules.
This method has the advantages of early diagnosis of learner misconceptions and of giving immediate feedback to the learner. The learner never strays far from a correct solution. However, this can be viewed as unnecessarily restrictive and counter productive as the student is never allowed to explore incorrect behaviour.
Authored by Serengul Smith
E-mail to:
serengul1@mdx.ac.uk
School of Computing Science Middlesex University
Revised: September 1998