Discrete Mathematics
- The Foundations: Logic and Proofs
- Propositional logic, its' applications
- Propositional equivalences
- Predicates and quantifiers
- Nested quantifiers
- Rules of inference
- Introduction to proofs
- Basic Structures: Sets, Functions
- Sequences, Sums & Matrices
- The division algorithm
- Divisibility and the euclidean algorithm
- prime numbers, congruence
- Applications of congruence
- Mathematical Induction
- Recursive Definitions and Structural Induction
- Program Correctness
- The addition and multiplication rules
- The principle of Inclusion-Exclusion
- The pigeon-hole principle
- Permutations, Combinations
- Generalized Permutations and Combinations
- Relations and Functions
- Symmetry, transitivity
- Reflexivity, equivalence classes
- Congruence, closure of relations, partial orderings
- Graphs: Graphs and Graph Models
- Graph Terminology and Special Types of Graphs
- Representing Graphs and Graph Isomorphism
- Graphs Connectivity
- Euler and Hamilton Paths
- Introduction to Trees
- Tree Traversal, Spanning Trees