CME 305/MS&E 316: Discrete Mathematics and Algorithms
Instructor: Aaron Sidford
Winter 2018
Time: Tuesdays and Thursdays, 10:30 AM  11:50 AM
Room: Education Building, Room 128
Here is the course syllabus.
Overview
This class will introduce the theoretical foundations of discrete mathematics and algorithms. Emphasis will be on providing mathematical tools for combinatorial optimization, i.e. how to efficiently optimize over large structured finite sets. The course will provide a rigorous understanding of both discrete mathematical structures, e.g. graphs, matroids, submodular functions, set systems, etc., as well algorithmic paradigms for optimizing over them, e.g. greedy methods, linear programming, randomized methods, etc. The class constitutes a fastpaced proofbased introduction to the broad area of designing and analyzing algorithms for combinatorial problems. By course completion you should have a solid foundation to enable future theoretical research and practical work on discrete problems.
Textbooks and Schedule
Required textbook:
Algorithm Design by Kleinberg and Tardos [KT]
Recommended Reading:
Graph Theory by Reinhard Diestel [D]
Approximation Algorithms by Vijay Vazirani [V]
Randomized Algorithms by Rajeev Motwani and Prabakhar Raghavan [MR]
The Probabilistic Method by Noga Alon and Joel Spencer [AS]
The Design and Analysis of Algorithms by Dexter C. Kozen [K]
CS261: Optimization and Algorithmic Paradigms by Luca Trevisan [T]
Grade breakdown: 40% final, 30% midterm, 30% assignments (4 of them). The midterm and final will be good practice for the ICME qualifying exam.
Midterm: Thursday, 02/15/2018 in class
Final: 03/21/2018, 12:15  3:15 P.M. at TBA
Lecture Notes and Recommended Reading
Note that these notes are not intended to be any substitute for the material covered during lectures. Further, homework assignments will be exclusively on Canvas.
 Tu 1/9: Lecture 1: Class Overview, Global MinCut. Notes. Reading: [KT] Chapter 2
 Th 1/11: Lecture 2: Introduction to Graph Theory. Notes. Reading: [KT] Chapter 3
 Tu 1/16: Lecture 3: Spanning Trees & Matroids. Notes. Reading: [KT] Section 4.5
 Th 1/18: Lecture 4: More Matroids & Maximum Flow. Notes. Reading: [KT] Chapter 4, Michel Goemans' matroid lecture notes
 Tu 1/24: Lecture 5: Maximum Flow & Minimum st Cut. Notes. Reading: [KT] Sections 7.17.3
 Th 1/26: Lecture 6: Bipartite Matching & Other Applications of Flow. Notes. Reading: [T] Sections 911, [KT] Sections 7.57.12
 Th 1/26: Lecture 7: Algebraic Methods for Matching. Notes. Reading: Virginia Williams' notes, Marek Cygan's notes
 Th 1/26: Lecture 8: More Algebraic Methods for Matching. Notes.
 Th 1/26: Lecture 9: Matrix Multiplication Equivalences and Intro to Spectral Graph Theory. Notes.
 Th 1/26: Lecture 10: Spectral Graph Theory. Notes. Reading: [T] Sections 12.
 Th 1/26: Lecture 11: More Spectral Graph Theory. Notes.
Practice Exams and Problem Sessions
This will be filled in closer to exam time.
Previous years
Please note that the material given in previous years deviates somewhat from this class. If you are looking for additional problems for selfstudy, it is still worth looking at these however.
Winter 2017: Class website
Winter 2016: Class website
Winter 2015: Class website
Winter 2014: Class website



Contacts
Aaron Sidford (sidford at stanford)
Office hours: Wednesday 5  6
Arun Jambulapati (jmblpati at stanford)
Office hours: Friday, 2:30  4:30.
Nolan Skochdopole (naskoch at stanford)
Office hours: Wednesday, 1  3.
Ananthakrishnan Ganesan (ananthg at stanford)
Office hours: Tuesday, 3  4.
TA office hours will be held in the Huang Engineering Center basement (in front of the ICME office)

