Program Due Wednesday

Finally, don't forget to check your code for documentation, appropriate use of subroutines, etc.

Recursion

A function that calls itself is recursive.
Expressive but a danger of infinite loops.

Three Laws of Recursion:
1. Must have non-recursive base-case
2. Must test for base-case before recursive call
3. Recursive call must be "simpler", i.e., must "move toward" the base-case

examples