Theoretical Foundations for Computer Science
The goal of the course is to brush up and build basic concepts and background required for other theoretical courses, with an emphasis on writing clear, precise proofs of mathematical statements. There are four modules: Graph theory, Combinatorics, Algebra, Probability with some possible overlap of topics across modules.
From the offical course website
Graph Theory
Date | Topics |
---|---|
August 10 | Graph theory: Introduction, simple results related to connectivity, characterization of bipartite graphs |
August 17 | Bipartite graphs continued, degree-sum formula, Mantel’s theorem, trees |
August 24 | Eulerian graphs: characterization, directed graphs, tournaments |
August 29 | Matchings: Definition, Maximum vs. maximal matching, augmenting path, Berge’s theorem |
August 31 | Bipartite matching, Hall’s theorem |
Sept 5 | König-Egerváry theorem, planar graphs: definition, Euler’s formula |
Sept 7 | Characterization of planar graphs, 6-coloring |
Sept 7 (Extra Class) | Tutte’s theorem for perfect matching |
Combinatorics
Date | Topics |
---|---|
Sept 12 | Pigeonhole principle: applications including Chinese remainder theorem and Erdös-Szekeres theorem, permutations and combinations, counting with and without repetitions |