Modern Algorithms, Fall 2019

General information

In the undergrad algorithm courses we are usually faced with classical problems such as max flow or maximum matching. The algorithms for these types of problems are mostly efficient, exact, and based on some cute combinatorial observation or proof.

However, more recent algorithms deal with a wider variety of problems. In these problems, it is tried that the models be more realistic and based on real world applications, though with the cost of sometimes having more complex algorithms. The algorithms also use a larger set of tools and techniques, such as continuous mathematics, linear algebra, and probabilistic methods. This course introduces beautiful and powerful techniques of theoretical computer science for the design of algorithms in recent years.

This course is highly inspired by the course CS270 in Berkeley.

Instructors: Sina Dehghani, Omid Etesami
Lectures: Wednesdays 9:00-10:30, 11:00-12:13




  1. Assignment 1
  2. Assignment 2
  3. Assignment 3


  1. Assignments (40%)
  2. Midterm exam (25%)
  3. Final Exam (35%)