8. Algorithms and Algorithm Discovery

8.1. The design process

8.2. Algorithm discovery

8.3. Recursion

8.4. Tail recursion

8.5. Scan algorithms

8.6. Loop invariants

8.7. Search algorithms