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.
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.
Bratko, I. (1986). Prolog Programming for Artificial Intelligence. Reading, MA: Addison-Wesley.
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.
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.
Clocksin, W. and Mellish, C. (1984). Programming in Prolog (Second edition). Berlin: Springer-Verlag.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Mynatt, B. (1984). The effect of semantic complexity on the comprehension of program modules in International Journal of Man Machine Studies, 21, 91–103.
Ormerod, T. (1986). Content and representation effects with reasoning tasks in Prolog form. Behaviour and Information Technology, 5(2), 157–168.
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.
Pea, R. D. (1986). Language independent conceptual ‘bugs’ in novice programming. Journal of Educational Computing Research, 2 (1), 25–36.
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.
Ross, P. (1982). Teaching Prolog to undergraduates. AISB Quarterly, 45 (Autumn), 16–17.
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.
Soloway, E. and Ehrlich, K. (1984). Empirical investigations of programming knowledge. IEEE Transactions of Software Engineering, SE-10, 5.
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.
Sterling, L. and Shapiro, E. (1986). The Art of Prolog. Boston, MA: MIT Press.
Taylor, J. (1984). Why novices will find learning Prolog hard. In T. O'Shea (Ed.), Proceedings of ECAI. Amsterdam: Elsevier.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF00116443