Skip to main content
Log in

Towards a taxonomy of novices' misconceptions of the Prolog interpreter

  • Published:
Instructional Science Aims and scope Submit manuscript

Abstract

A series of novice programmers' misconceptions of Prolog flow-of-control and variable unification are identified on the basis of existing empirical evidence, and informal observation. This classification is intended to serve as a first pass attempt towards an understanding of these errors and as a basis for future empirical work.

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 

  • Bratko, I. (1986). Prolog Programming for Artificial Intelligence. Reading, MA: Addison-Wesley.

    Google Scholar 

  • Brna, P., Bundy, A., Pain, H. and Lynch, L. (1987). Programming Tools for Prolog Environments in J. Hallam and C. Mellish (Eds.), Advances in Artificial Intelligence. Chichester: Wiley.

    Google Scholar 

  • Bundy, A., Pain, H., Brna, P. and Lynch, L. (1985). A proposed PROLOG story. Research paper 283 Dept. of A I, University of Edinburgh.

  • Burton, R. (1982). Diagnosing bugs in simple procedural skill. In D. Sleeman and J. S. Brown (Eds.), Intelligent Tutoring Systems. London: Academic Press.

    Google Scholar 

  • Clocksin, W. and Mellish, C. (1984). Programming in Prolog (Second edition). Berlin: Springer-Verlag.

    Google Scholar 

  • Coombs, M. J. and Stell, J. G. (1985). A model for debugging Prolog by symbolic execution: the separation of specification and procedure. Department of Computer Science, Strathclyde University.

  • Coombs, M. J., Hartley, R. T. and Stell, J. G. (1986). Debugging user conceptions of interpretation Processes. Proceedings of AAAI, pp. 303–307.

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

    Google Scholar 

  • Eisenstadt, M. and Brayshaw, M. (1988). The transparent Prolog machine (TPM): an execution model and graphical debugger for logic programming. Journal of Logic Programming, 5(4), 277–342.

    Google Scholar 

  • Eisenstadt, M. and Lewis, M. (1983). Errors in interactive programming environment: causes and cures. Human Cognition Research Laboratory Technical Report No.4, Open University, Milton Keynes, U.K.

    Google Scholar 

  • Fung, P. (1987a). Novice Prolog programmers: a consideration of their problems. Centre for Information Technology in Education Report No. 26, Open University, Milton Keynes, U.K.

    Google Scholar 

  • Fung, P. (1987b). Novices' predictions of Prolog control flow. Centre for Information and Technology in Education Report No. 35, Open University, Milton Keynes, U.K.

    Google Scholar 

  • Fung, P. (1988). A formalisation of novices' errors in Prolog programs, Centre for Information Technology in Education Report No. 50, Open University, Milton Keynes, U.K.

    Google Scholar 

  • Gilmore, D. J. (1986). The perceptual cueing of the structure of computer programs. Unpublished Ph Ph D thesis, Psychology Department, University of Sheffield.

  • Gilmore, D. J. and Green, T. R. G. (1988). Programming plans and programming expertise. Quarterly Journal of Experimental Psychology, 40 A, 423–442.

    Google Scholar 

  • Jeffries, R. (1982). A comparison of the debugging behavior of expert and novice programmers. Paper presented at AERA Annual Meeting.

  • Jones, A. (1981). How do novices learn programming? Technical Report No.25, Computer Aided Learning Research Group, Open University, Milton Keynes, U.K.

    Google Scholar 

  • Jones, A. (1982). Mental models of a first programming language. Technical Report No. 29, Computer Aided Learning Research Group, Open University, Milton Keynes, U.K.

    Google Scholar 

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

    Google Scholar 

  • Looi, C. and Ross, P. (1987). Debugging Prolog programs in an intelligent tutoring system. Department of A.I. Research paper No. 308, University of Edinburgh.

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

    Google Scholar 

  • Mynatt, B. (1984). The effect of semantic complexity on the comprehension of program modules in International Journal of Man Machine Studies, 21, 91–103.

    Google Scholar 

  • Ormerod, T. (1986). Content and representation effects with reasoning tasks in Prolog form. Behaviour and Information Technology, 5(2), 157–168.

    Google Scholar 

  • Pain, H. and Bundy, A. (1987). What stories should we tell novice Prolog programmers? In R. Hawley (Ed.), Artificial Intelligence programming environments. New York: Wiley.

    Google Scholar 

  • Pea, R. D. (1986). Language independent conceptual ‘bugs’ in novice programming. Journal of Educational Computing Research, 2 (1), 25–36.

    Google Scholar 

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

    Google Scholar 

  • Ross, P. (1982). Teaching Prolog to undergraduates. AISB Quarterly, 45 (Autumn), 16–17.

    Google Scholar 

  • Soloway, E., Bonar, J. and Ehrlich, K. (1983). Cognitive factors in programming: an empirical study of looping constructs. Communications of the ACM, 26, 853–861.

    Google Scholar 

  • Soloway, E. and Ehrlich, K. (1984). Empirical investigations of programming knowledge. IEEE Transactions of Software Engineering, SE-10, 5.

    Google Scholar 

  • van Someren, M. W. (1984). Misconceptions of beginning novice programmers. Memorandum 3,. Research project, ‘The Acquisition of Expertise’, Department of Educational Psychology, University of Amsterdam.

  • van Someren, M. W. (1990). What's wrong? Understanding beginners' problems with Prolog. Instructional Science, this issue.

  • Spohrer, J. C., Soloway, E. and Pope, E. (1985). A goal plan analysis of buggy Pascal programs Human-Computer Interaction, 1 (2), 162–207.

    Google Scholar 

  • Sterling, L. and Shapiro, E. (1986). The Art of Prolog. Boston, MA: MIT Press.

    Google Scholar 

  • Taylor, J. (1984). Why novices will find learning Prolog hard. In T. O'Shea (Ed.), Proceedings of ECAI. Amsterdam: Elsevier.

    Google Scholar 

  • Taylor, J. and du Boulay, J. B. H. (1987). Studying novice programmers: why they may find Prolog hard. In J. Rutkowska and C. Crook, (Eds.), Computers, cognition and development: issues for Psychology and Education. New York: Wiley.

    Google Scholar 

  • Taylor, J. (1987). Programming in Prolog: an in-depth study of problems for beginners learning to program in Prolog. Unpublished D.Phil. Thesis, School of Cognitive Sciences, University of Sussex.

  • VanLehn, K. (1983). Felicity conditions for human skill acquisition. Internal Technical Report, Xerox Parc.

  • White, R. (1987). Effects of Pascal upon the learning of Prolog — an initial study. Department of Artificial Intelligence, University of Edinburgh.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fung, P., Brayshaw, M., Du Boulay, B. et al. Towards a taxonomy of novices' misconceptions of the Prolog interpreter. Instr Sci 19, 311–336 (1990). https://doi.org/10.1007/BF00116443

Download citation

  • Issue Date:

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

Keywords

Navigation