Guided Lesson Notes
Understanding Recursion
Recursion focuses on algorithmic reasoning, correctness, and choosing the right structure before writing code. Recursion becomes manageable when students can name the base case, the smaller problem, and the value returned by each call.
Model: start with inputs and outputs, then decide what information must be remembered at each step.
Invariant: every step must preserve the meaning of the variables and move measurably closer to the goal.
Implementation: pseudocode, traces, helper functions, tests, and complexity checks.
Use Recursion when the problem is less about syntax and more about selecting a strategy that scales.
