This document discusses recursive definitions, algorithms, and program correctness. It provides examples of recursively defining functions and sets using a basis step and recursive step. Examples of recursive algorithms are given for computing factorials and exponentials. The difference between recursion and iteration is explained. Program verification and correctness are defined, and examples are worked through to show initial and final assertions for program segments. The document concludes with an announcement about an upcoming exam.