Design considerations of an intelligent tutoring system for programming languages
The overall goal of the thesis is to attempt to highlight the major topics which must be considered in the design of any Intelligent Tutoring System and to illustrate their application within the particular domain of LISP programming. There are two major sections to the thesis. The first considers the background to the educational application of computers. It examines possible roles for the computer, explores the relationship between education theory and computer-based teaching, and identifies some important links among existing Tutoring Systems. The section concludes with a summary of the design goals which an Intelligent Tutoring System should attempt to fulfill. The second section applies the design goals to the production of an Intelligent Tutoring System for programming languages. It devises a formal semantic description for programming languages and illustrates its application to tutoring. A method for modelling the learning process is introduced. Some techniques for maintaining a structured tutoring interaction are described. The work is set within the methodology of Artificial Intelligence research. Although a fully implemented tutoring system is not described, all features discussed are implemented as short programs intended to demonstrate the feasibility of the approach taken.