Algorithms

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-class-winter-2011+subscribe@ttic.edu.

**
Algorithms - Winter 2011
**

A sample exam

Tutorials

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.
## Text:

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.
## Prerequisites

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 set 1. Posted: Jan 8.
Homework set 2. Posted: Jan 25.
Homework set 3. Posted: Feb 8.
Homework set 4. Posted: Feb 22.