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.

Enroll Now