This Article 
 Bibliographic References 
 Add to: 
An Intelligent Tutoring System for the Dijkstra-Gries Methodology
May 1995 (vol. 21 no. 5)
pp. 415-428
This paper describes the design and implementation of an intelligent tutoring system for the Dijkstra-Gries programming methodology as defined by Gries in “The Science of Programming” . The first part of the paper identifies the requirements of intelligent tutoring systems in general and those of the methodology in particular. It shows the suitability of the Smalltalk environment for developing expandable intelligent systems and the compatibility of Smalltalk’s object-oriented paradigm with the Gries methodology’s goal/plan approach to programming. We then describe how these requirements are met: an overview of the system’s support of the methodology and the modules that enable the system to respond intelligently. As an example, a reusable tutorial part is presented, first from a student’s perspective, then from an author’s perspective. Finally the results of an evaluation of the system drawn from actual student experience are presented.

[1] J.R. Anderson,C.F. Boyle,, and B.J. Reiser,“Intelligent Tutoring Systems,” Science, no. 228, pp. 456-462, 1985.
[2] J.R. Anderson and R. Jeffries,“Novice LISP errors: Undetected losses of information from working memory,” Human Computer Interaction. vol. 1, no. 2, pp. 107-131, 1985.
[3] J.R. Anderson and B.J. Reiser,“The LISP Tutor,” BYTE, vol. 10, no. 4, pp. 159-175, 1985.
[4] J. Bonar and R. Cunningham,“Bridge: An intelligent tutor for thinking about programming,” Proc. ICAI Research Workshop, Windermere, Cumbria, 1986.
[5] J. Bonar and E. Soloway,“Preprogramming knowledge: A major source of misconceptions of Basic programming statements,” Human Computer Interaction, vol. 1, no. 2, pp 133-161, 1985.
[6] A. Bundy, The Computer Modelling of Mathematical Reasoning, Academic Press, London, 1983, pp. 74-77.
[7] N.G. Craske and T.J. Richards,“ExperTutor, a general-purpose intelligent educational system,” Chisholm Inst. Tech nology, Technical Report no. 22, Nov. 1989.
[8] E.W. Dijkstra, A Discipline of Programming.Englewood Cliffs, N.J.: Prentice Hall, 1976.
[9] B. du Boulay and C. Sothcott,“Computers teaching programming: An introductory survery of the field,” Artificial Intelligence and Education, Ablex, pp 345-372, 1987.
[10] A. Goldberg and D. Robson, Smalltalk 80: The Language and Its Implementation.Reading, Mass.: Addison Wesley, 1983.
[11] A. Goldberg,Smalltalk-80: The Interactive Programming Environment.Reading, Mass.: Addison-Wesley, 1984.
[12] D. Gries, The Science of Programming.New York, Heidelberg, Berlin: Springer-Verlag, 1981.
[13] J.R. Hartley,“The design and evaluation of an adaptive teaching system,” Int’l J. Man-Machine Studies, vol. 5, pp. 421-436, 1973.
[14] W.L. Johnson and E. Soloway,“PROUST,” BYTE, vol. 10, no. 4, pp. 179-190, 1985.
[15] A.J. Martin,“A general proof rule for procedures in predicate transformer semantics,” Acta Informatica, vol. 20, pp. 301-313, 1983.
[16] F. Ng,“Ego: An expandable goal-oriented tutoring system,” PhD thesis, Univ. of Sydney, 1990.
[17] F. Ng and G. Butler,“Specialized theorem-proving in an intelligent tutoring system for the Dijkstra-Gries programming methodology,” Proc. Fifth Int’l Conf. Computing and Information, pp. 294-298,Sudbury, Canada, May 1993.
[18] J. Siekmann,“Matching under commutativity,” Proc. EUROSAM’79 Int’l Symp. Symbolic and Algebraic Manipulation,Marseilles, France, Springer-Verlag, Lecture Notes in Computer Science, no. 72, pp. 531-545, 1979
[19] J.C. Spohrer and E. Soloway,“Novice mistakes: Are the folk wisdoms correct?” Comm. ACM., vol. 29, no. 7, pp. 624-632, 1986.
[20] M.E. Stickel,“A unification algorithm for associative-commutative functions,” JACM, vol. 28, no. 3, pp. 423-434, 1981.
[21] M. Yazdani,“Intelligent tutoring systems survey,” Artificial Intelligence Rev., vol. 1, pp. 43-52, 1986.

Index Terms:
Dijkstra-Gries, inheritance, intelligent tutoring systems, object-oriented systems, programming methodology, re-use, symbolic algebra, teaching programming, unification, user modeling.
Frank Ng, Gregory Butler, Judy Kay, "An Intelligent Tutoring System for the Dijkstra-Gries Methodology," IEEE Transactions on Software Engineering, vol. 21, no. 5, pp. 415-428, May 1995, doi:10.1109/32.387471
Usage of this product signifies your acceptance of the Terms of Use.