A Hybrid Model for Teaching Recursion

Novice programmers struggle to understand the concept of recursion, partly because of unfamiliarity with recursive activities, difficulty with visualizing program execution, and difficulty understanding its back flow of control. In this paper we discuss the conceptual and program visualization approaches to teaching recursion. We also introduce our approach to teaching recursion in the ChiQat-Tutor system that relies on ideas from both approaches. ChiQat-Tutor will help Computer Science students learn recursion, develop accurate mental models of recursion, and serve as an effective visualization tool with which hidden contexts of recursion can become evident.

[1]  Gary Ford,et al.  An implementation-independent approach to teaching recursion , 1984, SIGSCE '84.

[2]  John T. Stasko,et al.  Rethinking the evaluation of algorithm animations as learning aids: an observational study , 2001, Int. J. Hum. Comput. Stud..

[3]  Jennifer Stephan,et al.  TEACHING RECURSION BEFORE LOOPS IN CS1 , 1999 .

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

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

[6]  John T. Stasko,et al.  Please address correspondence to , 2000 .

[7]  Davide Fossati,et al.  ChiQat-Tutor: An Integrated Environment for Learning Recursion , 2014 .

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

[9]  Davide Fossati,et al.  A Scalable Intelligent Tutoring System Framework for Computer Science Education , 2015, CSEDU.

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

[11]  Colleen M. Lewis Exploring variation in students' correct traces of linear recursion , 2014, ICER '14.

[12]  P. Pirolli,et al.  The role of learning from examples in the acquisition of recursive programming skills. , 1985 .

[13]  R. Hake Interactive-engagement versus traditional methods: A six-thousand-student survey of mechanics test data for introductory physics courses , 1998 .

[14]  Randy F. Pausch,et al.  Using visualization to teach novices recursion , 2001, ITiCSE '01.

[15]  Judith Gal-Ezer,et al.  What (else) should CS educators know? , 1998, CACM.

[16]  Wen-Jung Hsin,et al.  Traceable Recursion with Graphical Illustration for Novice Programmers , 2010 .

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

[18]  Calvin Lin,et al.  Using cargo-bot to provide contextualized learning of recursion , 2013, ICER '13.

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

[20]  Randall Wayne Bower An investigation of a manipulative simulation in the learning of recursive programming , 1998 .

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

[22]  Cheng-Chih Wu,et al.  Visualizing programming in recursion and linked lists , 1998, ACSE '98.

[23]  John T. Stasko,et al.  Do algorithm animations assist learning?: an empirical study and analysis , 1993, INTERCHI.