The course meets 3:30--4:45 pm Tuesday and Thursday at 110 MLH (MacLean Hall).
Kasturi Varadarajan, 101D MacLean Hall, Phone: 335-0732, email:firstname.lastname@example.org.
Office Hours: 3:00--4:30 pm Monday and 1:30--3:00 pm Wednesday.
Our text is Algorithm Design, by Kleinberg and Tardos. As a reference, we may also use the lecture notes from Jeff Erickson.
In this course, we will think about different strategies for solving precisely stated computational problems, reason about their correctness, evaluate these algorithms from the point of view of efficiency (usually running time), and develop a feel for the difficulty of problems and the applicability of various techniques we will learn. We will encounter fundamental algorithms such as basic graph algorithms. Developing algorithmic intuition and learning to communicate algorithms effectively will be emphasized. It is convenient to organize the course in terms of the following topics:
These topics are essentially the first eight chapters of our textbook. Along the way, we will also encounter examples of randomized algorithms.
The grading will be based on approximately eight homeworks (25 percent of the final grade), two in-class midterm exams (20 percent each), and a final (35 percent). About two of the homeworks will be based on programming.
The policy on late homeworks is that you have a quota of three days for the entire semester that you may use for late submissions. For example, there will be no penalty if you submit the third homework a day late, the fifth two days late, and the rest of the homeworks on time. Once you use up your quota of three days, any homework submitted late will not be accepted and you will get no credit for that homework.
When you submit a homework X days late, your quota gets decreased by X irrevocably. You can only be late by an integer number of days -- if you submit 10 hours after the deadline, for example, your quota is depleted by one day.
We will keep track of what we covered each week here.