Recursion is an important problem-solving technique included in the AP CS A and AB curriculum. It is not uncommon for novice programmers to have difficulty understanding recursion, and it may be even more difficult to develop recursive algorithms. It is always a challenge to come up with interesting, understandable methods to teach recursion so that students will actually understand it. Many of our colleagues have great ideas and suggestions, as demonstrated by the activities below.
Recursion: "Martin and the Dragon" Recursion: "The Cat in the Hat Comes Back" Recursion: combo(4,3) Towers of Hanoi Iteratively Recursion with Web Animations
If you would like to contribute another idea for teaching recursion, please submit your ideas!