Programming Environments for Novices
We describe DISCOVER, a tutor for elementary programming that combines a free phase, in which students may experiment in building and executing programs of their own, with a guided phase where problems are set and their solutions monitored. The system emb
- PDF / 1,457,041 Bytes
- 10 Pages / 439.37 x 666.142 pts Page_size
- 4 Downloads / 186 Views
Abstract: We describe DISCOVER, a tutor for elementary programming that combines a free phase, in which students may experiment in building and executing programs of their own, with a guided phase where problems are set and their solutions monitored. The system embodies a visible, executable, concrete model of the notional machine. When setting a problem, the system offers example solutions of similar problems. A pilot experiment is described to investigate the effects on problem-solving, during the guided phase, of providing the concrete model and the similar examples. Keywords: Intelligent Tutoring System
I Programming I Visualisation I
Examples
Introduction Opponents of intelligent programming tutoring systems (ITS) argue that these systems have not fulfilled their early promise in assisting novice programmers to overcome the abstraction and difficulty found in programming, and that some hard effort is needed to come up with alternative approaches to the design of systems for novice programming. Programming systems, they claim, that are based on visualisation [7], microworlds [15] or learning by example [14] techniques may prove to be more effective than current systems (e.g. [2,9]). The way forward, therefore, should be a joint endeavour between visualisation, microworlds and ITS. A practical example along this path is represented by the intelligent discovery programming system DISCOVER [16,17,18]. DISCOVER does not view the issue of visualisation as simply a question of animating program execution (program visualisation [13]) nor of displaying different values of variables during execution, but of supporting a high-level, integrated, conceptual and concrete environment that allows novices to relate problem-solving with the dynamic behaviour of both language and machine. To achieve this, DISCOVER integrates visibility, program visualisation, and a concrete, dynamic model of the underlying computer system, the notional machine [6], with which the novice user is interacting [10].
An Overview of DISCOVER DISCOVER is an intelligent programming environment that synthesizes domain visualisation and microworlds with automatic, active program diagnosis and tutoring. DISCOVER works in two phases. In the free phase, users may construct whatever programs they like E. Lemut et al. (eds.), Cognitive Models and Intelligent Environments for Learning Programming © Springer-Verlag Berlin Heidelberg 1993
126
iA ""'" h,,1 .. I"Itd
1'IUt1
t-.o tft
......0.-1
Data Loading...