Advanced Topics in Computer Science
Unit 1: Recursion
Students learn to solve problems by defining smaller versions of the same problem, then reason about call stacks, base cases, and recursive correctness.
Unit Focus
What this unit is really teaching
The unit turns recursion from a mysterious trick into a reliable design pattern for strings, arrays, linked structures, trees, and backtracking.
Key Topics
- +Base cases, recursive cases, and progress toward termination
- +Call stack tracing and return-value reasoning
- +Recursive string, array, and ArrayList algorithms
- +Divide-and-conquer thinking and recurrence intuition
- +Backtracking patterns for search and constraint problems
- +Comparing recursive and iterative solutions for clarity and efficiency
Practice Work
Implementation and analysis tasks
Student task
Build recursive solutions for palindrome checks, binary search, and nested folder traversal.
Student task
Implement a small backtracking puzzle solver with trace output.
Need support with Unit 1?
Work through the concepts, code, edge cases, and runtime analysis with 1:1 guidance.
