ITSY: an automated programming adviser

Abstract

This thesis presents an automated programming adviser. This system (called ITSY) tutors students in Lisp. This is from the viewpoint of automated program debugging of novice programs. Work within HCRL [Eisenstadt et al, Hasemer, Lewis] has shown that novice programming students can benefit from relatively small changes to the environment and from help via (intelligent) debugging tools. This thesis investigates the use of these debugging techniques in tutoring. The debugging techniques described here rely totally on detecting patterns in the student's code which represent erroneous concepts the student may have. The thesis is divided into three parts. Each part describes a separate area of investigation. The first part provides a detailed description of the types of errors that professional programmers make when using a 'traditional' (i.e. glass teletype) Lisp environment. In the second part the concept of a programming cliche has been inverted and used as a basis for a system designed to help overcome the difficulties described in the first part of the thesis. This approach can be used in the design of computing systems built to help novices in certain domains. The constraint on the domain is that students' answers are complex enough to contain patterns of errors (so one word answers would not suffice). This would include domains where students are learning procedural skills - such as arithmetic, algebra or mechanics. The third part describes a study involving professional programmers using the system

    Similar works