Get the latest tech news
Cease labeling recursion as challenging for students
“To iterate is human, to recurse divine.” -Peter Deutsch Recursion is a natural idea. When humans perform repetitive tasks, we don't assign state variables, and we generally don't keep counters. We just keep doing the same thing over and over until we arrive at some kind of terminating condition. This “pattern” forms the basis of recursive programming.
In “The Little Schemer” Friedman and Felleisen lay out the following basic pattern for writing recursive functions. In my experience, effective recursive thinking requires two important mental processes come naturally. I think that the lack of understanding in the student body concerning recursion is a pedagogical issue rather than a conceptual one.
Or read this on Hacker News