This is a first course in the design and analysis of
algorithms. The main focus is on techniques for constructing correct
and efficient algorithms, and on tools to reason about them. Design
paradigms include greed, divide-and-conquer, dynamic programming,
reduction to network flow, and the use of randomness. A second focus
point is computational intractability. NP-complete problems are
covered, as well as ways to deal with them.
The course forms a foundation for all areas of computer science. The
particular computational problems discussed have applications in
artificial intelligence, computational biology, compiler construction,
hardware and network protocols, and optimization.
Jon Kleinberg and Eva Tardos, Algorithm Design, Addison-Wesley, 2005.
T. Cormen, C. Leiserson, R. Rivest, and C. Stein,
Introduction to Algorithms, 2nd edition, 2001.
K. Rosen, Discrete Mathematics and its Applications,
4th edition, 2003.
CS 240 (Discrete Mathematics), and CS 367 (Data Structures).
All exams are closed book and closed notes. However, you will be allowed to bring a "cheat-sheet".
- Midterm (25%). R 03/15 7:15 p.m. - 9:15 p.m.
- Final (35%). S 05/13 10:00 a.m. - noon
- Point distribution. The points distribution for final
grades is as follows: homework (40% - 5x8; the lowest
pen-and-paper-homework score will be dropped), midterm (25%), final (35%).
- Homeworks. There will be 9 homeworks (one or two programming
and the rest pen and paper), roughly once a week. Homework
release dates and due dates are posted here. We
will drop the lowest pen-and-paper homework score from consideration when
tallying each student's final score.
- Collaboration policy. Homework may be done and submitted in
pairs. You may not consult any material other than your lecture notes
and the course text or reference books. In particular, the use of
materials (such as homework solutions) from previous versions of the
course or from the Internet is considered plagiarism and will warrant
strict action in accordance with university policy.
- Lateness policy. Each homework is due at the beginning of
the lecture on the due date. No extensions will be given on the due
date. However, we will drop each student's lowest homework score
- Extra credit questions and discussion on Piazza. Several of
the pen-and-paper homeworks will contain extra credit questions. These
questions have no points associated with them. However, we will keep a
record of how many questions each student (or team) solves
correctly. At the end of the semester, your performance on these
questions may help your letter grade if your total score is close to
the boundary between two grades. Your participation on the online
discussion site Piazza may
similarly help your letter grade.
Office: || CS 4373
Phone: || x0027
Email: || shuchi (AT) cs (DOT) wisc (DOT) edu
Lectures: || TR 1:00 p.m. - 2:15 p.m. in Chem B371
Office hours: || T 2:30 p.m. - 3:30 p.m., F 11:00 a.m. - noon,
and by appointment in CS 4373
Office: || CS 1308
Email: || nixon (AT) cs (DOT) wisc (DOT) edu
Office hours: || M 3:00 p.m. - 4:00 p.m.