State Machines

Lecture 2: Primitives, Combination, Abstraction, and Patterns