This is a graduate level course on algorithms, with the emphasis on computational problems that are central to both theory and practice, and on developing techniques for the design and the rigorous analysis of algorithms for such problems. In addition to classical results we will discuss several more modern approaches to algorithm design. Topics that we intend to cover:
- Greedy algorithms
- Dynamic programming
- Randomized algorithms and probabilistic analysis
- Maximum flow and minimum cut
- Linear Programming and LP-duality
- Streaming algorithms
- Approximation algorithms
- Online algorithms/algorithmic game theory
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.