ABSTRACT

This chapter examines some of the errors produced by subjects in trying to write recursive functions in the programming language SOLO. It describes on-going research into the behaviour of novice programmers. Through a detailed analysis of the sorts of errors produced by learners, several proposals are made about the possible mental models underlying novices' understanding of recursion. There are large differences between the kinds of models different students acquire when learning about a process like recursion. Some protocol comments suggest that many novices acquire odd notions about recursion. S5 has a recursion schema which differs from that of S8 in several respects. The conceptual model presented to students in the SOLO primer defines recursion as a process that is capable of triggering new instantiations of itself, with control passing forward to successive instantiations and back from terminated ones. This is the copies model of recursion, the model that experts, and novices who got it, were hypothesized to have.