Repository logo
 

An exploration of programming by demonstration in the domain of novice programming

Loading...
Thumbnail Image

Date

1998

Journal Title

Journal ISSN

Volume Title

Publisher

Te Herenga Waka—Victoria University of Wellington

Abstract

Learning to program is hard. Novice programmers have difficulty translating a task's specification into behaviour for the computer that will achieve the task, and translating way the computer should behave into instructions that will make the computer achieve that behaviour. Novices are hindered in both these steps because they lack a good model of the way the computer carries out the instructions in a program. This thesis presents an environment designed to provide novices with a good model of the way a computer carries out a program, and to support them as they learn to program in an imperative language. The environment makes the underlying state and operation of the computer and program explicit. The environment allows the novice to program by demonstrating how the computer should behave. The environment then shows them the instructions that would make the computer behave that way. The thesis presents two models as the basis for the environment: a model of computation, and a model of programming. The model of computation uses a coherent set of analogies from the real world to explain the way a computer carries out a program. The model of programming extends the model of computation to include programming using Programming by Demonstration. The thesis also presents two prototypes of the environment, and an exploration of the models and environment using the prototypes. The thesis presents many issues for a Programming by Demonstration environment for novices that this exploration shed light on.

Description

Keywords

Computer programming, Novice programming, Computer science

Citation

Collections