- Introduction
- Course Tools
- Program Correctness
- Concrete Evaluation
- Proposition and Proofs
- Symbolic Execution
- Preconditions and Proof States
- Inductive Reasoning
- Mathematical Induction
- Variants of Inductive Proof
- Propositional Logic
- First-order Logic
- Natural Deduction
- Additional Topics in Logic
- Mathematical Modeling
- Sets and Their Operations
- Set Inclusion Principles
- Contradictory Proof
- Functions and Relations
- Equivalences
- Program Complexity
- Fundamental Counting Principles
- Ordered and Unordered Choice
- Counting-based Reasoning
- Counting Operations
- Recurrences
- Mathematical Applications to Programming
Modeling with Graphs
- Introduction to Graphs
- Minimum Spannning Trees
- Shortest Paths
- Case Study: Automata
Probabilistic Reasoning
- Frequentist Probability
- Random Variables and Expectation
- Conditional Probabilities