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. © 1990 Kluwer Academic Publishers.