Course Syllabus

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
  • NP-hardness
  • Approximation algorithms
  • Online algorithms/algorithmic game theory


Course Summary:

Date Details Due