The course addresses both mathematical thinking and understanding mathematical tools, particularly those skills used in software engineering for specification, formal modeling, and programming. It provides multiple perspectives on the primary mathematical techniques of logic, induction, proof, functions, relations, and graphs.
Chapter Zero examines a student's mathematical belief structure. Thirsty Archeologist is one of my favorite estimation problems.

