Skip to main content
Log in

Principles for the design of dynamic tracing environments for novice programmers

  • Published:
Instructional Science Aims and scope Submit manuscript

Abstract

This paper describes the principled design of a computational environment which depicts an animated story of the execution of programs for novice programmers. The design principles are aimed at solving the problems that novice programmers face when learning new programming languages, and are embodied in an Animated Program Tracer (APT) for Prolog. The goal of this research is to develop a more systematic, if not yet scientific, basis for the design of animated tracing tools.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Anderson, J. R., Farrell, R. and Sauers, R. (1984). Learning to program in LISP. Cognitive Science, 8, 87–129.

    Google Scholar 

  • Anderson, J. R., Pirolli, P. and Farrell, R. (1984). Learning to program recursive functions. In M. Chi, R. Glaser and M. Farr (Eds.), The nature of expertise. Hillsdale, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

  • Bratko, I. (1986). Prolog programming for artificial intelligence. Reading, MA: Addison Wesley.

    Google Scholar 

  • Brooks, R. (1977). Towards a theory of the cognitive processes in computer programming. International Journal of Man-Machine Studies, 9(6), 737–742.

    Google Scholar 

  • du Boulay, J. B. H., O'Shea, T. and Monk, J. (1981). The black box inside the glass box: presenting computing concepts to novices. International Journal of Man-Machine Studies, 14, 237–249.

    Google Scholar 

  • Carroll, J. M. and Thomas, J. C. (1980). Metaphor and the cognitive representation of computing systems. Report RC 8302, IBM Watson Research Center, May.

  • Clocksin, W. F. and Mellish, C. S. (1981). Programming in Prolog, Berlin: Springer-Verlag.

    Google Scholar 

  • Domingue, J. (1985). Towards an automated programming advisor. Technical Report No. 16, Human Cognition Research Laboratory, The Open University, Milton Keynes, England.

    Google Scholar 

  • Domingue, J. (1990). The TRI handbook. Forthcoming Technical Report, Human Cognition Research Laboratory, The Open University, Milton Keynes, England.

    Google Scholar 

  • Eisenstadt, M. and Laubsch, J. (1980). Towards an automated debugging assistant for novice programmers. Proceedings of the AIBS-80 Conference on Artificial Intelligence, July.

  • Eisenstadt, M., Breuker, J. and Evertsz, R. (1984). A cognitive account of “natural” looping constructs. Proceedings of the First IFIP Conference on Human-Computer Interaction, INTERACT '84 London.

  • Eisenstadt, M. and Brayshaw, M. (1990). A fine-grained account of Prolog execution. Instructional Science, this issue.

  • Gugerty, L. and Olson, G. M. (1986). Comprehension differences in debugging by skilled and novice programmers. In E. Soloway and S. Iyengar (Eds.), Empirical studies of programmers. (Papers presented at the First Workshop on Empirical Studies of Programmers) June 5–6. Norwood, NJ: Ablex.

    Google Scholar 

  • Halasz, F. and Moran, T. (1982). Analogy considered harmful. Proceedings of Human Factors in Computing Systems Conference, Gaithersburg.

  • Hasemer, T. (1984). A beginner's guide To LISP. Amsterdam: Addison-Wesley.

    Google Scholar 

  • Johnson, L. W. and Soloway, E. (1985). PROUST: an automatic debugger for Pascal programs. BYTE, April, 10(4), 179–180.

    Google Scholar 

  • Jones, A. (1984a). How novices learn to program. Proceedings of the First IFIP Conference on Human Computer-Interaction, INTERACT '84, London.

  • Jones, A. (1984b). Learning to program: some protocol data. Technical Report No. 41, Computer Assisted Learning Research Group, The Open University, Milton Keynes, England.

    Google Scholar 

  • Kahney, J. H. (1982). An in-depth study of the behaviour of novice programmers. Technical Report No. 5, Human Cognition Research Laboratory, The Open University, Milton Keynes, England.

    Google Scholar 

  • Lewis, M. W. (1980). Improving SOLO's user-interface: an empirical study of user behaviour and a Proposal for cost effective enhancement. Technical Report No. 7, Computer Assisted Learning Research Group, The Open University, Milton Keynes, England.

    Google Scholar 

  • Lieberman, H. (1984). Steps toward better debugging tools for LISP. Proceedings ACM Symposium on Functional Programming.

  • Lukey, F. J. (1980). Understanding and debugging programs. International Journal of Man-Machine Studies, 12, 189–202.

    Google Scholar 

  • Mayer, R. E. (1976). Some conditions of meaningful learning for computer programming: advance organizers and subject control of frame order. Journal of Educational Psychology, 68, 143–150.

    Google Scholar 

  • Mayer, R. E. (1981). The psychology of how novices learn computer programming. Computing Surveys, 13(1), 121–141.

    Google Scholar 

  • Miller, L. A. (1974) Programming by non-programmers. International Journal of Man-Machine Studies, 6, 237–260.

    Google Scholar 

  • Murray, W. R. (1986). Automatic program debugging for intelligent turoring systems. Technical Report AI TR86–27, The University of Texas at Austin, Texas, USA.

    Google Scholar 

  • Norman, D. A. (1982). Some observations on mental models. In D. Gentner and A. Stevens, (Eds.), Mental Models. Hillsdale, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

  • Pirolli, P. L. and Anderson, J. R. (1985). The role of learning from examples in the acquisition of recursive programming skills. Canadian Journal of Psychology, 39, 240–272.

    Google Scholar 

  • Rajan, T. (1985). APT: the design of animated tracing tools for novice programmers. Technical Report No. 15, Human Cognition Research Laboratory, The Open University, Milton Keynes, England.

    Google Scholar 

  • Rajan, T. (1986). APT: a principled design for an animated view of program execution for novice Programmers. Technical Report No. 19/19a, Human Cognition Research Laboratory, The Open University, Milton Keynes, England.

    Google Scholar 

  • Rajan, T. (forthcoming). An evaluation of APT: an animated program tracer for novice Prolog Programmers. Instructional Science.

  • Rumelhart, D, E. and Norman, D. A. (1981). Analogical processes in learning. In J. R. Anderson (Ed.), Cognitive skills and their acquisition. Hillsdale, NJ: Lawrence Erlbaum Associates.

    Google Scholar 

  • Ruth, G. R. (1976). Intelligent program analysis. Artifical Intelligence, 7, 65–85.

    Google Scholar 

  • Sheil,B. A. (1981). The psychological study of programming. Computing Surveys of the ACM, 13(1), March.

  • Sime, M. E., Green, T. R. G. and Guest, D. J. (1973). Psychological evaluation of two conditional constructions in computer languages. International Journal of Man-Machine Studies, 5, 123–143.

    Google Scholar 

  • Sime, M. E., Arblaster, A. T. and Green, T. R. G. (1979). Reducing programming errors in nested conditionals by prescribing a writing procedure. International Journal of Man-Machine Studies, 9, 119–126.

    Google Scholar 

  • Soloway, E., Bonar, J. and Ehrlich, K. (1981). Cognitive factors in programming: an empirical study of looping constructs. Amherst, MA: Technical Report No. 81–10, Department of Computer Science, University of Massachusetts.

    Google Scholar 

  • Soloway, E., Ehrlich, K., Bonar, J. and Greenspan, J. (1982). What do novices know about programming. In B. Schneiderman and A. Badre (Eds.), Directions in human-computer interactions. Norwood, NJ: Ablex.

    Google Scholar 

  • Soloway, E. and Ehrlich, K. (1984). Empirical studies of programming knowledge. IEEE Transactions on Software Engineering. Special Issue: Reusability, Sept.

  • Taylor, J. and du Boulay, B. (1987). Studying novice programmers: why they may find learning Prolog hard. Cognitive Studies Research Papers, Serial No. 60. The University of Sussex.

  • Touretzky, D. S. (1984). LISP, a gentle introduction to symbolic computation. New York: Harper and Row.

    Google Scholar 

  • van Someren, M. W. (1984). Misconceptions of beginning Prolog programmers. Memorandum 30 of the Research Project The Acquisition of Expertise. Dept. of Experimental Psychology, The University of Amsterdam.

  • van Someren, M. W. (1985). Beginners' problems in learning Prolog. Memorandum 31 of the Research Project The Acquisition of Expertise. Dept. of Experimental Psychology, The University of Amsterdam.

  • Waters, R. C. (1979). A method for analyzing loop programs. IEEE Transactions on Software Engineering, SE-5:3, May.

  • Winston, P. H. and Horn, B. K. P. (1981). LISP. Amsterdam: Addison-Wesley.

    Google Scholar 

  • Winston, P. H. and Horn, B. K. P. (1984). LISP. Second Edition. Amsterdam: Addison-Wesley.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rajan, T. Principles for the design of dynamic tracing environments for novice programmers. Instr Sci 19, 377–406 (1990). https://doi.org/10.1007/BF00116446

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00116446

Keywords

Navigation