Solving programming problems in intelligent programming tutors for teaching the object-oriented programming paradigm

This paper basically describes the artificial intelligence structures and techniques used to solve programming problems in a generic architecture for the development of intelligent programming tutors to tutor the object-oriented programming paradigm. Each problem is depicted in terms of a program specification describing the task to be performed, and a knowledge base consisting of conceptual graphs representing the problem application domain. Solving a programming problem essentially involves developing an object-oriented design, developing algorithms for the methods of the classes and the overall program, and implementing these algorithms in a particular language. A description of the artificial intelligence techniques used to generate object-oriented designs and induce the necessary algorithms is provided Finally, the paper describes additional extensions that need to be made to the Expert Module of the architecture for the purpose of problem solving.

[1]  W. Lewis Johnson,et al.  Understanding and Debugging Novice Programs , 1990, Artif. Intell..

[2]  John F. Sowa,et al.  Conceptual Structures: Information Processing in Mind and Machine , 1983 .

[3]  Russel L. Winder,et al.  Developing Java software , 1998, Worlwide series in computer cience.

[4]  Dave Phillips,et al.  An exploration of novice programming errors in an object-oriented environment , 1999, ACM SIGCSE Bull..

[5]  George G. Lendaris,et al.  Projection in conceptual graphs using neural networks , 1995, IEEE Technical Applications Conference and Workshops. Northcon/95. Conference Record.

[6]  Mary Beth Rosson,et al.  The Cognitive Consequences of Object-Oriented Design , 1990, Hum. Comput. Interact..