Conceptual models of programming environments: how learners use the glass box

The first part of this paper reviews the criteria offered by du Boulay, O'Shea and Monk (1981) for designing a coneeptual model of a programming environment for teaching novices programming. It argues that although the criteria offered, namely simplicity and visibility, are helpful, these criteria alone are not sufficient as they do not address the choice of which aspects of the conceptual model are to be presented to the learner. In order to address this issue it is necessary to carve up the conceptual model differently and to distinguish different aspects. One important aspect for novices is a functional view, as this will help them develop programming plans. A new complementary categorisation is offered which offers three views of the conceptual model: namely state, procedure and function, and adds a new criterion, namely consistency. Two languages designed for novices using the general criteria of du Boulay, O'Shea and Monk are then analysed in detail, firstly using du Boulay et al.'s criteria, and secondly using the proposed categorisation. Data from novices learning to program in the two languages shows that although the languages had been satisfactorily designed according to du Boulay et al.'s criteria, a number of learning difficulties remained, which were satisfactorily accounted for by the new categorisation.

[1]  Robert S. Rist Knowledge Creation and Retrieval in Program Design: A Comparison of Novice and intermediate Student Programmers , 1991, Hum. Comput. Interact..

[2]  Richard E. Mayer,et al.  Some Conditions of Meaningful Learning for Computer Programming: Advance Organizers and Subject Control of Frame Order. , 1976 .

[3]  R. Mayer Different problem-solving competencies established in learning computer programming with and without meaningful models. , 1975 .

[4]  Howard E. Shrobe,et al.  Initial Report on a Lisp Programmer's Apprentice , 1978, IEEE Transactions on Software Engineering.

[5]  Elliot Soloway,et al.  A Goal/Plan Analysis of Buggy Pascal Programs , 1985, Hum. Comput. Interact..

[6]  K. A. Ericsson,et al.  Verbal reports as data. , 1980 .

[7]  Marc Eisenstadt,et al.  A user-friendly software environment for the novice programmer , 1983, CACM.

[8]  Maarten van Someren,et al.  What's wrong? Understanding beginners' problems with Prolog , 1990 .

[9]  Robert S. Rist Plans in programming: definition, demonstration, and development , 1986 .

[10]  Richard E. Mayer,et al.  A psychology of learning BASIC , 1979, CACM.

[11]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[12]  Richard E. Mayer,et al.  Can Advance Organizers Influence Meaningful Learning? , 1979 .

[13]  Elliot Soloway,et al.  Preprogramming Knowledge: A Major Source of Misconceptions in Novice Programmers , 1985, Hum. Comput. Interact..