ABSTRACT

This chapter describes a system (ITSY) developed to help students learn Lisp. It explores research where the concept of a programming cliche has been inverted and used as a basis for an automated programming advisor. LISP has become one of the most commonly-used programming languages in research and commercial Artificial Intelligence. ITSY grows out of related work in two different areas. The first area is that which deals with Intelligent Tutoring Systems and Computer Aided Instruction, while the second is that area concerned with Automatic Program Analysis and Debugging. Programming knowledge in PROUST is frame-based and is contained in problem descriptions which consist of programming goals and sets of data objects. Programming goals are the principal requirements that must be satisfied and the sets of data objects are the data manipulated by the program. Once the surface plan has been constructed programming cliches from the cliche library are matched against chunks of the surface plan to form more abstract plans.