Recursion Removal as an Instructional Method to Enhance the Understanding of Recursion Tracing

Recursion is one of the most difficult programming topics for students. In this paper, an instructional method is proposed to enhance students' understanding of recursion tracing. The proposal is based on the use of rules to translate linear recursion algorithms into equivalent, iterative ones. The paper has two main contributions: the instructional method itself, and its evaluation, which is based on previous works of other authors on mental models of recursion. As a result, an enhancement was measured in the viability of mental models exhibited by students (both for linear and multiple recursion), but no significant improvement was detected in their skills for designing recursive algorithms. Evidence was also obtained of the fact that many students with (relatively) viable mental models for linear recursion have unviable mental models for multiple recursion. Finally, it was noticed that many students adopt inaccurate mental models if those models are adequate to handle the given algorithm.

[1]  S. M. Haynes,et al.  Explaining recursion to the unsophisticated , 1995, SGCS.

[2]  Jaime Urquiza-Fuentes,et al.  SRec: an animation system of recursion for algorithm courses , 2008, SIGCSE 2008.

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

[4]  Hugh Coolican,et al.  Introduction to Research Methods and Statistics in Psychology , 1995 .

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

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

[7]  Moshe Augenstein,et al.  A lesson in recursion and structured programming , 1976, SIGCSE '76.

[8]  Gerry Leversha,et al.  Statistical inference (2nd edn), by Paul H. Garthwaite, Ian T. Jolliffe and Byron Jones. Pp.328. £40 (hbk). 2002. ISBN 0 19 857226 3 (Oxford University Press). , 2003, The Mathematical Gazette.

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

[10]  Richard S. Bird,et al.  Tabulation Techniques for Recursive Programs , 1980, CSUR.

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

[12]  Carlisle E. George Using visualization to aid program construction tasks , 2002, SIGCSE '02.

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

[14]  Jim Albert,et al.  Bayesian Computation with R , 2008 .

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

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

[18]  J. Ángel Velázquez-Iturbide Improving Functional Programming Environments for Education , 1994 .

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

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

[21]  Lynn Westbrook,et al.  Mental models: a theoretical overview and preliminary study , 2006, J. Inf. Sci..

[22]  informaticienzero,et al.  Les bases de la programmation , 2016 .

[23]  Tamarisk Lurlyn Scholtz,et al.  First year students' understanding of the flow of control in recursive algorithms , 2012 .

[24]  Jaime Urquiza-Fuentes,et al.  A Design of Automatic Visualizations for Divide-and-Conquer Algorithms , 2008, PVW.

[25]  Christian Rinderknecht,et al.  A Survey on Teaching and Learning Recursive Programming , 2014, Informatics Educ..

[26]  Benjamin S. Bloom,et al.  A Taxonomy for Learning, Teaching, and Assessing: A Revision of Bloom's Taxonomy of Educational Objectives , 2000 .

[27]  Owen L. Astrachan Self-reference is an illustrative essential , 1994, SIGCSE '94.

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

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