An interactive program advising system

This paper describes components of an Interactive Program Advising System (IPAS) for beginning programming students. The system, being unaware of the algorithm being implemented by the student, is unable to direct the student toward writing a correct program. It instead comments on the programming constructs the student has used in the specific implementing language—in this case FORTRAN. Beginning programming students often write poorly structured programs (especially in a non-block-structured language like FORTRAN) with constructs which, while legal, indicate that the student doesn't really understand the operation being performed. Data is currently being collected on “conceptual errors” commonly made by beginning students. This paper describes some of these “errors” and what comments can be presented to the student to help him understand and correct his own “errors.” A subsequent paper will present statistics on frequency of errors and plausible student logic which would produce the errors.

[1]  Jeffrey D. Ullman,et al.  Analysis of a simple algorithm for global data flow problems , 1973, POPL.

[2]  Edward M. Reingold,et al.  The automation of introductory computer science courses , 1974, SCOU.

[3]  Alan M. Davis,et al.  An interactive analysis system for execution-time errors. , 1975 .

[4]  Reese T. Prosser,et al.  Applications of Boolean matrices to the analysis of flow diagrams , 1899, IRE-AIEE-ACM '59 (Eastern).

[5]  Ken Kennedy,et al.  Node listings applied to data flow analysis , 1975, POPL '75.

[6]  Dennis J. Frailey,et al.  Expression optimization using unary complement operators , 1970, Symposium on Compiler Optimization.

[7]  D. W. Barron A Mathematical Theory of Global Program Optimization , 1974 .

[8]  P. Abrahams,et al.  A mathematical theory of global program optimization , 1975 .

[9]  Bernard A. Galler,et al.  An Algorithm for Translating Boolean Expressions , 1962, JACM.

[10]  Gary A. Kildall,et al.  A unified approach to global program optimization , 1973, POPL.

[11]  Vincent A. Busam,et al.  Optimization of expressions in Fortran , 1969, CACM.

[12]  Edward M. Reingold,et al.  Automating introductory computer science courses , 1973, SIGCSE '73.

[13]  Frances E. Allen,et al.  Control-flow analysis , 2022 .

[14]  Mark N. Wegman,et al.  A Fast and Usually Linear Algorithm for Global Flow Analysis , 1976, J. ACM.

[15]  Ronald Lee Danielson Pattie: an automated tutor for top-down programming. , 1975 .

[16]  J. Cocke Global common subexpression elimination , 1970, Symposium on Compiler Optimization.

[17]  Jeffrey D. Ullman A Fast Algorithm for the Elimination of Common Subexpressions , 1972, SWAT.

[18]  Alfred V. Aho,et al.  A formal approach to code optimization , 1970 .

[19]  Michael Harry Tindall An interactive compile-time diagnostic system. , 1975 .

[20]  D Alpert,et al.  Advances in Computer-based Education. , 1970, Science.