The main aim of this thesis is to examine the difficulties that beginners have learning the logic-based programming language Prolog (Colmerauer, Kanoui, Pasero and Roussel, 1973). Logic programming languages, such as Prolog, are a recent development, and whilst it is claimed they are easier to use than other current programming languages (Kowalski, 1979) there are no empirical studies of novice programmers learning such languages. Observational studies using video-taped protocols were undertaken of different groups of novice Prolog programmers: the first were undergraduate students who had been taught the broadly declarative approach to Prolog programming, the second were postgraduate students who had been taught the procedural view. A longitudinal case study of a postgraduate student learning Prolog was also conducted. It was found that existing methods of analysing programming performance, whilst useful for understanding some parts of the skill acquisition process, assume that learners are already orientated towards programming as a formal skill, and understand the kinds of tasks they have to perform in the context of formal problem solving. Many of the students observed in this study, however, used high level domain independent reasoning processes in their interpretation of programming tasks, producing plausible, but often incorrect or inadequate, solutions. This behaviour seems to share common characteristics with subjects observed in the literature on hypothetico-deductive reasoning. using this literature and that on novices learning programming, a three-levelled discourse framework of the domains relevant to programming is presented and is used to help map out the structure of the space of errors for these Prolog programmers. Transition from one discourse level to another requires a correct and consistent mapping. The empirical studies are used to show how novices construe Prolog using powerful intuitive strategies. These 'superstrategies' are essential for working in unfamiliar domains, but their use can equally lead to misapprehension and error - 'superbugs'.
[1]
P. Wason.
>On the Failure to Eliminate Hypotheses...< – A Second Look
,
1968
.
[2]
John R. Anderson.
Acquisition of cognitive skill.
,
1982
.
[3]
Donald A. Norman,et al.
Analogical Processes in Learning
,
1980
.
[4]
Maarten van Someren,et al.
What's wrong? Understanding beginners' problems with Prolog
,
1990
.
[5]
Donald A. Norman,et al.
User Centered System Design: New Perspectives on Human-Computer Interaction
,
1988
.
[6]
Yvonne Waern,et al.
On the Implications of Users' Prior Knowledge for Human-Computer Interaction
,
1984
.
[7]
B. A. Myers,et al.
Visual programming, programming by example, and program visualization: a taxonomy
,
1986,
CHI '86.
[8]
Richard C. Atkinson,et al.
Human Memory: A Proposed System and its Control Processes
,
1968,
Psychology of Learning and Motivation.
[9]
M. Henle.
On the relation between logic and thinking.
,
1962,
Psychological review.
[10]
L. Rips.
Cognitive Processes in Propositional Reasoning.
,
1983
.
[11]
B. A. Sheil,et al.
The Psychological Study of Programming
,
1981,
CSUR.
[12]
Michael L. Geis,et al.
On Invited Inferences
,
1971
.
[13]
Ivan Bratko,et al.
Prolog Programming for Artificial Intelligence
,
1986
.
[14]
P. C. Wason,et al.
The Processing of Positive and Negative Information
,
1959
.
[15]
Richard Ennals.
Teaching Logic as a Computer Language in Schools
,
1982,
ICLP.
[16]
P. N. Johnson.
Reasoning and a Sense of Reality.
,
1972
.
[17]
P. Johnson-Laird,et al.
A theoretical analysis of insight into a reasoning task
,
1970
.
[18]
H. Grice.
Further Notes on Logic and Conversation
,
1978
.
[19]
P. Wason,et al.
Natural and contrived experience in a reasoning problem
,
1971
.