Algorithms TTIC 31010 and CMSC 37000-1

Winter Quarter 2012

Instructor: Yury Makarychev
TA: Pratik Worah

The final exam will be on March 16 (Friday) from 8:00am to 10:00am.

Lectures: Tuesday & Thursdays, 8:50-10:10, TTIC, room 530
Tutorials: Wednesdays, 3:30-4:20, Ryerson, room 276.
Office hours (Yury): Thursdays, 1:00-2:00 at TTIC 437. Please email to Yury in advance if you plan to come.
Office hours (Pratik): Fridays, 5:00-6:00 at Ry162A.
Mailing list: . Follow this link to subscribe to the course mailing list.


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.



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


We assume that the students are familiar with the following topics, usually covered in undergraduate algorithms courses: time and memory complexity analysis, sorting, basic data structures (linked lists, trees, balanced trees, heaps), algorithmic paradigms (greedy algorithms, divide and conquer techniques), 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 the textbook, excluding the starred sections, or the material covered by the University of Chicago course CMSC 27200.


There will be 4 closed-book quizzes, and one final exam. Grades are based on the final exam (40%) and quizzes (60%). Only the best 3 out of 4 quizzes will count towards the grade. Quiz dates tentatively are: We will distribute sets of practice problems that will help you to prepare to quizzes. Solving them is strongly recommended.