Abstract
Informal observations of Prolog learners showed that, despite being presented with correct information and models, students still tended to construct their own idiosyncratic explanations of events, and, characteristically, they defended these ‘stories’ fiercely when tutorial intervention was attempted. Although the stories were often so flawed that the student's future progress was potentially hampered, it was nevertheless true that learning could not have proceeded at all without them. It seems that if we are to understand the novice Prolog programmer, we need to know about these stories, their source, and what, if anything, they have in common from one learner to another. Pain and Bundy (1987) posed the question “What stories should we tell novice Prolog programmers?” in order to teach them Prolog. In our research, we ask: “What stories do novices Prolog programmers tell themselves?” in order to learn Prolog.
Observational studies undertaken showed that students used tacit knowledge of human discourse processes both to interpret the language used to communicate with the computer and to interpret the behaviour of the machine. Students did not appreciate the fundamental differences between natural discourse (as takes place amongst humans) and formal discourse (as takes place between humans and machines), and confused elements of the discourse levels. This can be an effective initial learning strategy, but unless its limitations are recognised, programs are inevitably incomplete at some level. Examples from these studies are reported here with illustrative protocol fragments.
Similar content being viewed by others
References
Coombs, M. J. and Stell, J. G. (1985). A model for debugging Prolog by symbolic execution: the separation of specification and procedure. Research Report No. MMIGR 137, Dept. of Computer Science, University of Strathclyde.
Ehrlich, K., Soloway, E. and Abbott, V. (1982). Transfer effects from programming to algebra word problems: a preliminary study. Report No. 21, Dept. of Computer Science, Yale University, Connecticut.
Lewis, C and Mack, R. (1982). The role of abduction in learning to use a computer system. Technical Report No. RC9433, New York: IBM Thomas Watson Research Center.
Mack, R., Lewis, C. and Carroll, J. (1982). Learning to use word processors: problems and prospects. Technical Report No. RC9712, New York: IBM Thomas Watson Research Center.
Manktelow, K. I. and Over, D. E. (1990). Inference and understanding: a philosophical and psychological perspective. London: Routledge.
Pain, H. and Bundy, A. (1987). What stories should we tell novice Prolog programmers? In R. Hawley (Ed.), Artificial Intelligence Programming Environments. Chichester: Ellis Horwood.
Pea, R. D. (1986) Language-independent conceptual “bugs” in novice programming. Journal of Educational Computing Research, 2(1), 25–36.
Peirce, C. (1958). The logic of drawing history from ancient documents. In A. Burks (Ed.), Collected Papers of Charles Sanders Peirce. Cambridge, MA: Harvard University Press.
Schoenfeld, A. H. (1983). Beyond the purely cognitive: belief systems, social cognitions and metacognitions as driving forces in intellectual performance. Cognitive Science, 7, 329–363.
Taylor, J. (1988). Programming in Prolog: an in-depth study of problems for beginners learning to program in Prolog. Cognitive Science Research Report No. 111, University of Sussex.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Taylor, J. Analysing novices analysing Prolog: what stories do novices tell themselves about Prolog?. Instr Sci 19, 283–309 (1990). https://doi.org/10.1007/BF00116442
Issue Date:
DOI: https://doi.org/10.1007/BF00116442