A real page from one of our revision booklets, in full — key terms to copy down, a worked example, and a practice question with a full model answer. Every unit in the full course has one of these. Also see the free glossary and the syllabus guide.
Base case — the condition under which a recursive function stops calling itself and returns a value directly, instead of calling itself again.
Recursive case — the part of the function that calls itself with a smaller or simpler input, moving one step closer to the base case each time.
Call stack — where Python stores each paused function call while it waits for the recursive call beneath it to finish and return a value.
Trace factorial(3): calls stack up as 3 × factorial(2), 2 × factorial(1), 1 × factorial(0) — then unwind: 1, 1, 2, 6.
Full revision booklets for every unit, plus lesson decks, exam-style practice with worked answer keys, a progress tracker, and AI-powered exam prep — one payment, one year of access.
See what's included →