TTIC 31010 and CMSC 37000-1

Instructor: Julia Chuzhoy
TA: Pratik Worah
Lecture: TueThu 8:50-10:10, at TTI-C conference room 530.
Tutorial: Wed 12:35-1:25, RY 276 Note the time change
Office hours:
    Julia Chuzhoy: Tue 1:00-2:00. Please email Julia beforehand if you are planning to come
    Pratik Worah: Mon 12:45-1:45, Ry 177. Note the location change
Mailing List: if you would like to receive course related announcements, please subscribe to the mailing list either via the web interface, or by sending an email to
Algorithms - Winter 2011
A sample exam

Homework Assignments

Course description:

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 and data structures for such problems.

List of topics:

  • Greedy algorithms
  • Dynamic programming
  • Amortized analysis
  • Max flow, min cut
  • Linear Programming
  • Randomized algorithms and probabilistic analysis
  • NP-hardness
  • Approximation algorithms
  • Advanced data structures

  • Time permitting, we may also cover some topics in computational geometry, and online algorithms with competitive analysis.


    The main text is Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein (CLRS), but not all the course material is covered by the book.


    We will assume that the students are familiar with the following topics, usually covered in undergraduate algorithms courses: time and memory complexity analysis; sorting and searching; basic data structures: linked lists, trees, balanced trees, heaps; algorithmic paradigms: greedy methods, divide and conquer; basic graph and network algorithms: BFS, DFS, MST, shortest path algorithms, max flow. This is roughly equivalent to chapters 1-16 and 22-26 of CLRS, excluding the starred sections, or the material covered by the University of Chicago course CMSC 27200.

    Course requirements:

    There will be 4 closed-book quizzes, and one final exam. The grade is computed as follows: Final exam: 60%; Quizzes: 40%. Only the best 3 out of 4 quizzes will count towards the grade. Quiz dates (tentative):
  • Jan 20
  • Feb 3
  • Feb 17
  • Mar 3
    Final exam: Tuesday, March 15, 9-11am

    We will also distribute sets of practice problems. They do not count towards the final grade, and are intended to help you prepare for the quizzes. Solving them is strongly recommended.


    Lists of problems that have been or will be solved at tutorials.
  • Tutorial 1 - Jan 5
  • Tutorial 2 - Jan 12
  • Tutorial 3 - Jan 19
  • Jan 26: we will solve problems from quiz 1 and homework set 1.
  • Tutorial 4 - Feb 9
  • Feb 16: we will solve problems from quiz 2 and homework set 2.
  • Feb 23: we will solve problems from quiz 3 and homework set 3.
  • March 2
  • March 9: We will solve problems from quiz 4 and homework set 4.
  • Homework Assignments

  • Homework set 1. Posted: Jan 8.
  • Homework set 2. Posted: Jan 25.
  • Homework set 3. Posted: Feb 8.
  • Homework set 4. Posted: Feb 22.