Abstract: This paper highlights and discusses some important design principles and issues for developing an intelligent system for discovery-oriented programming. The envisioned system synthesizes features of Human Computer Interface (HCI) with features of an Intelligent Tutoring System (ITS). In terms of HCL the system is capable of providing novices with an open-ended, exploratory, and free discovery programming environment (microworld) that enables them to observe and discover the dynamic behavior of both individual elementary programming concepts and whole programs, and thus build the underlying conceptual knowledge associated with these concepts and a mental model of the programs' execution. In terms of an ITSm the system is capable of automatically analyzing and debugging novices' partial solutions for semantic errors during a guided discovery programming phase and provides them with intelligent feedback that guides them in the problem solving process.
Some Thoughts on Designing an Intelligent System for Discovery Programming