Mental models of recursion

Recursion is a fundamental concept in Computer Science. A student's knowledge of recursion can be termed their mental model of recursion. A student's mental model is viable if it allows them to accurately and consistently represent the mechanics of recursion. Non-viable mental models are constructed if students have misconceptions about the mechanisms of recursion or have misconceptions about concepts fundamental to recursion. This paper presents a study of the mental models of recursion that first year students at the University of the Witwatersrand have constructed in 2000, 2001 and 2002. It was found that while the majority of students constructed the viable copies model, many non-viable models such as the looping, active, step, magic, return-value and various odd models were also constructed. Identifying the models that students have can allow lecturers to target individual students' specific problems and analysis of the models can provide insight into learning.

[1]  Jens Kaasbøll,et al.  A survey of methods used to evaluate computer science teaching , 1998, ITiCSE '98.

[2]  Hank Kahney,et al.  What do novice programmers know about recursion , 1983, CHI '83.

[3]  David G. Kay A balanced approach to first-year computer science , 1992, SIGCSE '92.

[4]  Derek Edwards,et al.  The development of understanding in the classroom , 1987 .

[5]  Randy Pausch,et al.  Using visualization to teach novices recursion , 2001 .

[6]  K. M. Hawkins,et al.  Development and Learning , 1962, Nature.

[7]  Owen Astrachan,et al.  On the Cruelty of Really Teaching Computer Science redux , 2005 .

[8]  Norman E. Wallen,et al.  How to Design and Evaluate Research in Education , 1990 .

[9]  Benedict du Boulay,et al.  Some Difficulties of Learning to Program , 1986 .

[10]  David Ginat,et al.  Teaching recursion in a procedural environment—how much should we emphasize the computing model? , 1999, SIGCSE '99.

[11]  Rocky Ross,et al.  Mental models , 2004, SIGA.

[12]  Ian Sanders,et al.  Animating recursion as an aid to instruction , 1994 .

[13]  Ann E. Fleury Programming in Java: student-constructed rules , 2000, SIGCSE '00.

[14]  Peter J. Denning,et al.  Computing as a discipline , 1989, Computer.

[15]  Marlene Scardamalia,et al.  Beyond Bloom’s Taxonomy: Rethinking Knowledge for the Knowledge Age , 2005 .

[16]  Raja Sooriamurthi Problems in comprehending recursion and suggested solutions , 2001, ITiCSE.

[17]  Dalit Levy,et al.  Recursively speaking: analyzing students' discourse of recursive phenomena , 2000, SIGCSE '00.

[18]  Mordechai Ben-Ari,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[19]  J. Ángel Velázquez-Iturbide Recursion in gradual steps (is recursion really that difficult?) , 2000, SIGCSE '00.

[20]  David G. Kay Bandwagons considered harmful, or the past as prologue in curriculum change , 1996, SGCS.

[21]  Angela Carbone,et al.  The Student Learning Experience: Characteristics of Programming Tasks that Lead to the Poor Learning Behaviours , 1999 .

[22]  Susan Wiedenbeck Learning recursion as a concept and as a programming technique , 1988, SIGCSE '88.

[23]  James J. Little,et al.  The Schematics of Computation , 1995 .

[24]  Gordon I. McCalla,et al.  Supporting the Learning of Recursive Problem Solving , 1994, Interact. Learn. Environ..

[25]  Pamela Gibbons,et al.  A Cognitive Processing Account of Individual Differences in Novice Logo Programmers' Conceptualisation and Use of Recursion , 1995 .

[26]  Donald A. Norman,et al.  Some observations on mental models , 1987 .

[27]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .

[28]  Kate Ehrlich,et al.  Cognitive strategies and looping constructs: an empirical study , 1983, CACM.

[29]  Mordechai Ben-Ari Recursion: From Drama to Program , 2000 .

[30]  William M. K. Trochim,et al.  Research methods knowledge base , 2001 .

[31]  Michael Wollowski,et al.  Introducing computer science using a breadth-first approach and functional programming , 2000, SIGCSE '00.

[32]  Cheng-Chih Wu,et al.  Conceptual models and cognitive learning styles in teaching recursion , 1998, SIGCSE '98.

[33]  L. Frank The Society for Research in Child Development , 1935 .

[34]  Ian Douglas Sanders,et al.  A fundamentals-based curriculum for first year computer science , 2000, SIGCSE '00.

[35]  J. H. McMillan,et al.  Research in Education , 1998 .

[36]  Karl B. Schwamb,et al.  Mental Models: A Survey , 1990 .

[37]  Darina Dicheva,et al.  Mental Models of Recursion , 1996 .

[38]  Elliott Sober,et al.  Core Questions in Philosophy , 1991 .

[39]  Carlisle E. George,et al.  EROSI—visualising recursion and discovering new errors , 2000, SIGCSE '00.

[40]  Bruria Haberman,et al.  The case of base cases: why are they so difficult to recognize? student difficulties with recursion , 2002, ITiCSE '02.

[41]  BE HEARD Course evaluation questionnaire. , 1984, Medical teacher.

[42]  Allen B. Tucker,et al.  A summary of the acm/ieee-cs joint curriculum task force report: computing curricula 1991 , 1991 .

[43]  R. Siegler Developmental Sequences within and between Concepts. , 1981 .

[44]  Tim O'Shea,et al.  The black box inside the glass box: presenting computing concepts to novices , 1999, Int. J. Hum. Comput. Stud..

[45]  Roy D. Pea,et al.  Children's Mental Models of Recursive Logo Programs , 1985 .

[46]  Andrew M. Lister,et al.  Computer science : a modern introduction , 1982 .