First year students' understanding of the flow of control in recursive algorithms

Abstract Recursion is an important concept for any computer science student to master. Many first year students develop the viable copies mental model of recursion and can successfully trace the execution of a simple recursive function. This article discusses a study focused on determining whether the ability to successfully trace a recursive function means that the student understands recursion or whether they are simply “applying a formula”. The research question investigated was thus “To what extent do students with viable trace mental models understand the flow of control of recursive algorithms?” The research followed a phenomenological approach. A group of first year students with viable mental models was identified by classifying the mental models in their answers to test questions. Fifteen of these students were interviewed. The interviews involved the students talking aloud while they tackled various tasks. Each student's understanding of the active flow, the limiting case and the passive flow was assessed. The results show that in most cases even these students have some difficulty with the active flow, are confused about the passive flow and have misconceptions about the limiting case. This implies that more careful thought needs to be given to the examples used in teaching recursion and how the concept is taught.

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

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

[3]  Scott Grissom,et al.  Proceedings of the 33rd SIGCSE Technical Symposium on Computer Science Education, 2002, Cincinnati, Kentucky, USA, February 27 - March 3, 2002 , 2002, SIGCSE.

[4]  Elliot Soloway,et al.  Studying the Novice Programmer , 1988 .

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

[6]  Ian Douglas Sanders,et al.  Mental models of recursion , 2003, SIGCSE.

[7]  Lee Naish,et al.  Visual representations for recursive algorithms , 2002, SIGCSE '02.

[8]  EdgingtonJeffrey Teaching and viewing recursion as delegation , 2007 .

[9]  David Ginat Do senior CS students capitalize on recursion? , 2004, ITiCSE '04.

[10]  Michael Wirth Introducing recursion by parking cars , 2008, SGCS.

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

[12]  Miguel P Caldas,et al.  Research design: qualitative, quantitative, and mixed methods approaches , 2003 .

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

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

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

[16]  Ian Douglas Sanders,et al.  Mental models of recursion: investigating students' understanding of recursion , 2010, ITiCSE '10.

[17]  Kathleen M. MacQueen,et al.  Applied Thematic Analysis , 2011 .

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

[19]  Meredith D. Gall,et al.  Applying Educational Research: How to Read, Do, and Use Research to Solve Problems of Practice , 2009 .

[20]  Aaron Gordon Teaching recursion using recursively-generated geometric designs , 2006 .

[21]  Claudio Mirolo,et al.  Learning (through) recursion: a multidimensional analysis of the competences achieved by CS1 students , 2010, ITiCSE '10.

[22]  Ian Douglas Sanders,et al.  Mental models of recursion revisited , 2006, ITICSE '06.

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

[24]  Ben Stephenson Using graphical examples to motivate the study of recursion , 2009 .

[25]  L. Cohen,et al.  Research Methods in Education , 1980 .