Tick each line when you can do it without looking at the guide. Each line names where it is taught and tested. Revisit the study guide for anything you cannot yet do.
Understanding
- ☐ I can define a recursive method and name its two required parts (study guide: A method that calls itself).
- ☐ I can explain that each call has its own parameters and local variables (study guide: The call stack: how a trace really works; Figure 1).
- ☐ I can explain what happens when a base case is missing or never reached (study guide: Worked example 2; practice: Questions 5 and 9).
- ☐ I can state that recursion and iteration can solve the same problems and that writing recursive code is outside the exam scope (study guide: Recursion and iteration).
Skills
- ☐ I can trace a recursive method with a return value by expanding down and substituting up (study guide: The first example; Worked example 1; practice: Questions 1 and 4).
- ☐ I can trace a recursive method on a String that uses substring (study guide: Worked example 1; practice: Question 3).
- ☐ I can give the exact output of a method that prints before and after the recursive call (study guide: Where printing goes matters; practice: Question 2).
- ☐ I can write a loop equivalent to a given recursive method (study guide: Recursion and iteration; practice: Questions 8 and 10).
Reasoning
- ☐ I can count the calls made by a method with two recursive calls (study guide: Worked example 2; practice: Question 7).
- ☐ I can say what a simple recursive method computes in general (practice: Question 6).
- ☐ I can explain why a base case written with <= can be safer than one written with == (study guide: Worked example 2; practice: Question 9).
- ☐ I can explain why after-call output appears in reverse order of the calls (study guide: Where printing goes matters; practice: Question 2).