Learning to Program in LISP

We have gathered protocols of subjects in their first 30 hours of learning LISP. The processes by which subjects write LISP functions to meet problem specifications has been modeled in a simulation program called GRAPES (Goal Restricted Production System). The GRAPES system embodies the goal-restricted architecture for production systems as specified in the ACT* theory (Anderson, 1983). We compare our simulation to human protocols on a number of problems. GRAPES simulates the top-down, depth-first flow of control exhibited by subjects and produces code very similar to subject code. Special attention is given to modeling student solutions by analogy, how students learn from doing, and how failures of working memory affect the course of problem-solving. Of major concern is the process by which GRAPES compiles operators in solving one problem to facilitate the solution of later problems.

[1]  Howard E. Shrobe,et al.  Initial Report on a Lisp Programmer's Apprentice , 1978, IEEE Transactions on Software Engineering.

[2]  R. Brooks A Model Of Human Cognitive Behavior in Writing Code For Computer Programs , 1975, IJCAI.

[3]  John R. Anderson,et al.  Learning to Program , 1983, IJCAI.

[4]  Elliot Soloway,et al.  From Problems to Programs via Plans: The Content and Structure of Knowledge for Introductory LISP Programming , 1985 .

[5]  Laurent Siklossy Let's talk LISP , 1976 .

[6]  Donald A. Norman,et al.  Analogical Processes in Learning , 1980 .

[7]  Ross A Bott,et al.  A Study of Complex Learning: Theory and Methodologies , 1979 .

[8]  D. Barstow An Experiment in Knowledge-Based Automatic Programming , 1986, Artif. Intell..

[9]  A. Bundy Proceedings of the Eighth International Joint Conference on Artificial Intelligence : IJCAI-83, 8-12 August 1983, Karlsruhe, West Germany , 1983 .

[10]  Earl David Sacerdoti,et al.  A Structure for Plans and Behavior , 1977 .

[11]  John R. Anderson Language, Memory, and Thought , 1976 .

[12]  Allen Newell,et al.  Production Systems: Models of Control Structures , 1973 .

[13]  Kurt VanLehn,et al.  Repair Theory: A Generative Theory of Bugs in Procedural Skills , 1980, Cogn. Sci..

[14]  Gregory V. Jones A fragmentation hypothesis of memory: Cued recall of pictures and of sequential position. , 1976 .

[15]  Richard Fikes,et al.  STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving , 1971, IJCAI.

[16]  Robin Jeffries,et al.  The Processes Involved in Designing Software. , 1980 .

[17]  Robert G. Farrell,et al.  GRAPES User's Manual. , 1982 .

[18]  Allen Newell,et al.  The psychology of human-computer interaction , 1983 .

[19]  Allen Newell,et al.  Problem solving techniques for the design of algorithms , 1984, Inf. Process. Manag..

[20]  John R. Anderson Acquisition of cognitive skill. , 1982 .

[21]  D. Norman Categorization of action slips. , 1981 .

[22]  Daniel G Bobrow,et al.  On data-limited and resource-limited processes , 1975, Cognitive Psychology.