Problems in comprehending recursion and suggested solutions

  • Authors:
  • Raja Sooriamurthi

  • Affiliations:
  • Department of Computer Science, University of West Florida, Pensacola, FL

  • Venue:
  • Proceedings of the 6th annual conference on Innovation and technology in computer science education
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

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.