In 100 pages, a theory of term rewriting systems is defined from simple principles, and an implementation is developed. Several term-rewriting design patterns are presented, including converting a C program to a TRS and vice versa.