A structured planning and debugging environment for elementary programming

How could an appropriately structured environment facilitate the acquisition of programming skills? Significant theoretical strides are needed before human-quality performance can be expected from a computer-based programming tutor. As an intermediate step, a system has been implemented which serves primarily as an editing language and diligent clerk. However, it differs from conventional programming environments in two crucial ways: (1) it interacts with the student using a vocabulary of concepts about planning and debugging, derived from an explicit model of the design process; and (2) it actively prompts the student with a menu of design alternatives, within the overall framework of a mixed-initiative dialogue. The current system is not a tutor; but the process of implementing and testing it has been instrumental in refining our model of the design process, thereby bringing us a step closer to realizing a computer-based programming tutor.

[1]  Gerald J. Sussman,et al.  A Computational Model of Skill Acquisition , 1973 .

[2]  Mark L. Miller,et al.  Structured Planning and Debugging: A Linguistic Theory of Design. AI Memo 387. , 1976 .

[3]  Ira P. Goldstein,et al.  Overlays: A Theory of Modelling for Computer Aided Instruction, , 1977 .

[4]  Ira P. Goldstein Understanding simple picture programs , 1974 .

[5]  Donald A. Norman,et al.  The FLOW Tutor: Schemas for Tutoring. , 1977 .

[6]  Warren Teitelman,et al.  Toward a Programming Laboratory , 1969, IJCAI.

[7]  Seymour Papert,et al.  Teaching Children to be Mathematicians vs. Teaching About Mathematics. Artificial Intelligence Memo Number 249. , 1971 .

[8]  J. N. Buxton,et al.  Software engineering techniques , 1970 .

[9]  Mark L. Miller,et al.  PAZATN: A Linguistic Approach to Automatic Analysis of Elementary Programming Protocols. AI Memo 388. , 1976 .

[10]  Eleanor H. Warnock,et al.  Reasoning from Incomplete Knowledge. , 1975 .

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

[12]  John Seely Brown,et al.  A tutoring and student modelling paradigm for gaming environments , 1976, SIGCSE '76.

[13]  Ruven Brooke A model of human cognitive behavior in writing code for computer programs , 1975, IJCAI 1975.

[14]  Martin Kay,et al.  The MIND System , 1970 .

[15]  Brian Cantwell Smith,et al.  Towards a programming apprentice , 1974, IEEE Transactions on Software Engineering.

[16]  Richard C Waters,et al.  A System for Understanding Mathematical FORTRAN Programs , 1976 .