Skip to main content

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

Abstract

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.

References

  1. Bonar, J. and Soloway, E. M. (1985). Pre-programming knowledge: a major source of misconceptions in novice programmers. Humdn-Computer-Interaction, 1, 133–162.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. Eisenstadt, M. (1978). SOLO: Units 3 & 4, D303 Cognitive Psychology, Open University, Milton Keynes, U.K.

    Google Scholar 

  4. Eisenstadt, M. (1983). A user friendly software environment for the novice pregrammer, Communications of the Association for Computing Machinery, 27(12), 1056–1064.

    Google Scholar 

  5. Ericsson, K. A. and Simon, H. (1981). Verbal reports as data. Psychological Review, 5, 230–248.

    Google Scholar 

  6. Jeffries, R. (1982). A comparison of the debugging behaviour of expert and noice programmers. Paper presented at AERA annual meeting, USA.

  7. 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.

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. Mayer, R. E. (1979a). Can advance organisers influence meaningful learning? Review of Educational Research, 49, 371–383.

    Google Scholar 

  11. Mayer, R. E. (1979b). A psychology of learning BASIC. Communications of the ACM, 22(11), 589–593.

    Google Scholar 

  12. Norman, D. A. (1983). Some observations of mental models. In A., Stevens and D., Gentner (Eds.), Mental models, Hillsdale, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Open University (1979). Microcomputers for managers: a short pack.

  15. Open University (1984). Inside microcomputers: a short pack.

  16. Pennington, N. (1987). Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive Psychology, 19, 295–341.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. Shneiderman, B. (1976). Exploratory experiments in programmer behavior. International Journal of Computer and Information Science, 5, 124–143.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. Spohrer, J. C., Solway, E. and Pope, B. (1985). A goal/plan analysis of buggy Pascal programs, Human: Computer Interaction, 1, 163–207.

    Google Scholar 

  25. Van, Someren, M. W. (1990). What's wrong? Understanding beginners' problems with Prolog. Instructional Science, 19, 257–282.

    Google Scholar 

Download references

Author information

Affiliations

Authors

Rights and permissions

Reprints and Permissions

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

Download citation

Keywords

  • Conceptual Model
  • Programming Environment
  • General Criterion
  • Programming Plan
  • Functional View