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