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.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
Bonar, J. and Soloway, E. M. (1985). Pre-programming knowledge: a major source of misconceptions in novice programmers. Humdn-Computer-Interaction, 1, 133–162.
Du, Boulay, B., O'Shea, T. and Monk, J. (1981). The Glass Box inside the Black Box: presenting computing concepts to novices. International Journal of Man-Machine Studies, 14, 237–249.
Eisenstadt, M. (1978). SOLO: Units 3 & 4, D303 Cognitive Psychology, Open University, Milton Keynes, U.K.
Eisenstadt, M. (1983). A user friendly software environment for the novice pregrammer, Communications of the Association for Computing Machinery, 27(12), 1056–1064.
Ericsson, K. A. and Simon, H. (1981). Verbal reports as data. Psychological Review, 5, 230–248.
Jeffries, R. (1982). A comparison of the debugging behaviour of expert and noice programmers. Paper presented at AERA annual meeting, USA.
Johnson, W. L., Draper, S. and Soloway, E. (1983). An effective bug classification scheme must take the programmer into account. In The Proceedings of the Workshop on High-Level Debugging, Palo Alto, CA.
Mayer, R. E. (1975). Different problem-solving contingencies established in learning programming with and without a meaningful model. Journal of Educational Psychology, 67, 725–734.
Mayer, R. E. (1976). Some conditions of meaningful learning for computer programming: advance organisers and subject control of frame order. Journal of Educational Psychology, 68(2), 143–150.
Mayer, R. E. (1979a). Can advance organisers influence meaningful learning? Review of Educational Research, 49, 371–383.
Mayer, R. E. (1979b). A psychology of learning BASIC. Communications of the ACM, 22(11), 589–593.
Norman, D. A. (1983). Some observations of mental models. In A., Stevens and D., Gentner (Eds.), Mental models, Hillsdale, NJ: Lawrence Erlbaum Associates.
O'Malley, C., Draper, S. and Riley, M. (1985). Constructive interaction: a method for studying human-computer interaction. In B., Shackel (Ed.), Human-computer interaction. Interact '84. Amsterdam: North Holland.
Open University (1979). Microcomputers for managers: a short pack.
Open University (1984). Inside microcomputers: a short pack.
Pennington, N. (1987). Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive Psychology, 19, 295–341.
Rich, R. C. and Shrobe, H. E. (1984). Initial report on a Lisp programmer's apprentice. In D. R., Barstow, H. E., Shrobe and D. E., Sanderwell (Eds.), Interactive programming environments (pp. 443–463.) New York: McGraw-Hill.
Rist, R. S. (1986). Plans in programming: definition, demonstration, demonstration and development. In E., Solway and S., Iyengar (Eds.), Tmpirical studies of programmers. Norwood, NJ: Ablex Publishing Corporation.
Rist, R. S. (1991). Knowledge creation and retrieval in program design: a comparison of novice and intermediate student programmers. Human-Computer Interaction, 6, 1–46.
Scanlon, E. and O'Shea, T. (1987). How novices solve physics problems. In A., Jones, E., Scanlon and T., O'Shea (Eds.), The computer revolution in education. Brighton, UK: Harvester Press.
Shneiderman, B. (1976). Exploratory experiments in programmer behavior. International Journal of Computer and Information Science, 5, 124–143.
Shneiderman, B. and Mayer, R. E. (1979). Syntactic/semantic interactions in programmer behavior: a model and experimantal results. International Journal of Computer and Information Science, 7, 219–239. Reprinted in B. Curtis (Ed.), (1981). Human factors in software development. IEEE EHO, 186–189.
Solway, E., Ehrlich, K., Bonar, J. and Greenspan, J. (1982). What do novices know about programming? In B., Shneiderman and A., Badre (Eds.), Directions in human-computer interactions. Norwood, NJ: Ablex Publishing Corporation.
Spohrer, J. C., Solway, E. and Pope, B. (1985). A goal/plan analysis of buggy Pascal programs, Human: Computer Interaction, 1, 163–207.
Van, Someren, M. W. (1990). What's wrong? Understanding beginners' problems with Prolog. Instructional Science, 19, 257–282.
About this article
Cite this article
Jones, A. Conceptual models of programming environments: how learners use the glass box. Instr Sci 21, 473–500 (1992). https://doi.org/10.1007/BF00118559
- Conceptual Model
- Programming Environment
- General Criterion
- Programming Plan
- Functional View