[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Problems in comprehending recursion and suggested solutions

Published: 25 June 2001 Publication History

Abstract

Recursion is a very powerful and useful problem solving strategy. But, along with pointers and dynamic data structures, many beginning programmers consider recursion to be a difficult concept to master. This paper reports on a study of upper-division undergraduate students on their difficulty in comprehending the ideas behind recursion. Three issues emerged as the points of difficulty for the students: (1) insufficient exposure to declarative thinking in a programming context (2) inadequate appreciation of the concept of functional abstraction (3) lack of a proper methodology to express a recursive solution. The paper concludes with a discussion of our approach to teaching recursion, which addresses these issues. Classroom experience indicates this approach effectively aids students' comprehension of recursion.

References

[1]
Abelson, H. and Sussman, G. J. Structure and Interpretation of Computer Programs. MIT Press, 1996.
[2]
Adams, J.L. Conceptual Blockbusting: a guide to better ideas (3 ro ed). Addison-Wesley, 1986.
[3]
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[4]
Ginat, D and Shifrunie, Eyal. Teaching Recursion in a Procedural Environment -- How much should we emphasize the Computing Model? Proceedings ofACM SIGCSE 1999, p 127-131.
[5]
Kelsey, R., Clinger, W., and Rees, J., et al. The revised 5 report on the algorithmic language Scheme. http://www-swiss.al.mit edu/~jaffer/r5rs_toc.html
[6]
Lewis, H.R. and Denenberg, L. Data Structures and their Algorithms. Haper Collins, 1991.
[7]
Sooriamurthi, R. Using Recursion as a Tool to Reinforce Functional Abstraction (poster abstract). Proceedings of ITiCSE 2000, p 194.
[8]
Polya, G. How to solve it: A new aspect of mathematical method (2nded). Princeton University Press, 1957.
[9]
Springer, G. and Friedman, D. P. Scheme and the Art of Programming. MIT Press, 1989.
[10]
Wu, C., Dale, N. and Bethal, L. Conceptual Models and Cogntive Learning Styles in Teaching Recursion. Proceedings ofACM SIGCSE 1998, p 292-296.

Cited By

View all
  • (2021)Teaching argumentative synthesis writing through deliberative dialogues: instructional practices in secondary educationInstructional Science10.1007/s11251-021-09548-3Online publication date: 25-Jun-2021
  • (2018)Learning Recursion from Music and Music from Recursion2018 IEEE 18th International Conference on Advanced Learning Technologies (ICALT)10.1109/ICALT.2018.00066(257-261)Online publication date: Jul-2018
  • (2014)A structured approach to teaching recursion using cargo-botProceedings of the tenth annual conference on International computing education research10.1145/2632320.2632356(59-66)Online publication date: 28-Jul-2014
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 33, Issue 3
Sept. 2001
211 pages
ISSN:0097-8418
DOI:10.1145/507758
Issue’s Table of Contents
  • cover image ACM Conferences
    ITiCSE '01: Proceedings of the 6th annual conference on Innovation and technology in computer science education
    June 2001
    198 pages
    ISBN:1581133308
    DOI:10.1145/377435
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 June 2001
Published in SIGCSE Volume 33, Issue 3

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)23
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Teaching argumentative synthesis writing through deliberative dialogues: instructional practices in secondary educationInstructional Science10.1007/s11251-021-09548-3Online publication date: 25-Jun-2021
  • (2018)Learning Recursion from Music and Music from Recursion2018 IEEE 18th International Conference on Advanced Learning Technologies (ICALT)10.1109/ICALT.2018.00066(257-261)Online publication date: Jul-2018
  • (2014)A structured approach to teaching recursion using cargo-botProceedings of the tenth annual conference on International computing education research10.1145/2632320.2632356(59-66)Online publication date: 28-Jul-2014
  • (2014)The Canny Skipper - A Puzzle For Demonstrating Data Structures And RecursionProceedings of the Western Canadian Conference on Computing Education10.1145/2597959.2597966(1-4)Online publication date: 2-May-2014
  • (2014)Introducing Students to Recursion: A Multi-facet and Multi-tool ApproachInformatics in Schools. Teaching and Learning Perspectives10.1007/978-3-319-09958-3_12(124-137)Online publication date: 2014
  • (2013)Using cargo-bot to provide contextualized learning of recursionProceedings of the ninth annual international ACM conference on International computing education research10.1145/2493394.2493411(161-168)Online publication date: 12-Aug-2013
  • (2010)Tail recursive programming by applying generalizationProceedings of the fifteenth annual conference on Innovation and technology in computer science education10.1145/1822090.1822119(98-102)Online publication date: 26-Jun-2010
  • (2009)Tail recursion by using function generalizationACM SIGCSE Bulletin10.1145/1595496.156303641:3(394-394)Online publication date: 6-Jul-2009
  • (2009)Tail recursion by using function generalizationProceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education10.1145/1562877.1563036(394-394)Online publication date: 6-Jul-2009
  • (2008)A gentle introduction to mutual recursionACM SIGCSE Bulletin10.1145/1597849.138433440:3(235-239)Online publication date: 30-Jun-2008
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media