Subprogram implementation Recursion Designing recursive algorithms Recursion removal Backtracking Examples of backtracking and recursive algorithms: Factorial Fibonacci The towers of Hanoi Eight Queens Problem Tree-structured program: Look-ahead in Game