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@uiowa.edu.

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:

- Introduction
- Basic Graph Algorithms
- Greedy Algorithms and Analysis
- Recursive thinking: Divide-and-Conquer
- Recursive thinking: Dynamic Programming
- Network Flow and applications
- NP-completeness

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.

- First Day Handout
- Homework 1, due in class Thursday, September 7.
- Homework 2, due in class Thursday, September 21.
- Homework 3, due 11:59 pm Tuesday, October 3.
- Homework 4, due in class Tuesday, October 17.
- Homework 5, due in class Thursday, October 26.
- Homework 6, due 11:59 pm Tuesday, November 7.
- Homework 7, due in class Thursday, November 30.
- Homework 8. This homework does not need to be turned in, but I highly recommend that you attempt these problems before class on December 7, when we will solve them.