About This Course
Algorithm design and analysis is a fundamental and important part of any discipline of computer science including data science.This course assumes that every student has passed an undergraduate course in this area, or has an equivalent background. Compared to the undergraduate algorithms course, the goal of the course is to study some topics more deeply and to learn more advanced algorithms.
Learning Objectives
The topics we plan to cover include network flow, linear programming and duality theory, hard problems (NP and PSpace), Tree decomposition and tree width, Approximation algorithms, and Randomized algorithms.
Announcements
(No information at the moment, a place holder for future announcements.)
Reading Material
Required Reading
- “Algorithm Design”, Jon Kleinberg and Éva Tardos (Cornell University)
Recommended Reading
- “Introduction to Algorithms”, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein (MIT)
Schedule
Assessment and Feedback
(will links to a separate page)
Marking Criteria
- 30% Homework Assignments (6)
- 10% Programming Assignment
- 30% Midterm
- 30% Final