The foundations: logic and proof, sets, and functions. The fundamentals: algorithms, the integers, and matrices. Mathematical reasoning, induction, and recursion. Counting. Discrete probability. Advanced counting techniques. Relations. Graphs. Trees. Boolean algebra. Modeling computation.