Intelligent computer-aided instruction for the coding task

Abstract This paper describes an intelligent computer-aided instruction (ICAI) system for the task of translating a high level program design language (PDL) into a programming language. It enforces the desirable separation of algorithm design and coding by focusing on coding as an independent task. A production system formalism is used to represent the rules needed to do the translation. The intelligent tutor program presents a PDL program to the learner and then uses the production rules to translate it into FORTRAN 77, saving the correct set of rules needed. It then inputs the learner's translation, and when it is not correct, it attempts to determine those rules not applied correctly. After isolating an error, it is capable of several response levels which give the learner maximum opportunity to discover her his own error. These responses involve the generation of remedial PDL programs which highlight the rule that has presented difficulty to the learner. Finally, methods of incorporating the ICAI system into a beginning Computer Science course are presented.

[1]  Laszlo A. Belady,et al.  GREENPRINT: A Graphic Representation of Structured Programs , 1980, IBM Syst. J..

[2]  Jean E. Sammet Why Ada is not just another programming language , 1986, CACM.

[3]  Elliot Soloway,et al.  Novice mistakes: are the folk wisdoms correct? , 1986, CACM.

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

[5]  Randall Davis,et al.  An overview of production systems , 1975 .

[6]  Richard E. Mayer,et al.  A diagnosis of beginning programmers' misconceptions of BASIC programming statements , 1983, Commun. ACM.

[7]  Niklaus Wirth,et al.  On the Composition of Well-Structured Programs , 1974, CSUR.

[8]  Johnette Hassell,et al.  Student workbook for ansi fortran77: an introduction to structured software design , 1983 .

[9]  Elliot Soloway,et al.  PROUST: Knowledge-Based Program Understanding , 1984, IEEE Transactions on Software Engineering.

[10]  Ellis Horowitz,et al.  Fundamentals of Computer Algorithms , 1978 .

[11]  Judith S. Kerner Should PDL/Ada be compilable? , 1982, ALET.

[12]  David R. Barstow,et al.  On Program Synthesis Knowledge , 1978, Artif. Intell..

[13]  Atul Prakash,et al.  Software Engineering: Problems and Perspectives , 1984, Computer.

[14]  Réjean Plamondon,et al.  Schematic coding on an IBM-PC , 1987 .

[15]  Emil L. Post Formal Reductions of the General Combinatorial Decision Problem , 1943 .

[16]  Peter Wegner Ada education and technology transfer activites , 1982, ALET.

[17]  Eran Gabber The middle way approach for Ada based PDL syntax , 1983, ALET.

[18]  B. Shneiderman,et al.  Flowchart techniques for structured programming , 1973, SIGP.

[19]  Elliot Soloway,et al.  MENO-II: An AI-Based Programming Tutor. , 1983 .