You've written functions that call other functions. Now you'll write functions that call themselves. This idea, called recursion, sounds circular but it's not. Recursion solves problems by breaking them into smaller versions of the same problem.
Each call handles a smaller piece until you hit a case simple enough to answer directly. I'll show you the two parts every recursive function needs: a base case that stops the recursion, and a recursive case that breaks down the problem.
You'll implement classic algorithms like factorial, Fibonacci, and binary search. By the end of this section, you'll write recursive code with confidence.