CS 577  Introduction to Algorithms
Fall 2007 

Course Description
This course provides an undergraduatelevel introduction to the design and
analysis of algorithms.
The main focus lies on techniques for constructing correct efficient
algorithms and on tools to reason about them. Design paradigms include greed,
divideandconquer, dynamic programming, reductions, and the use of randomness.
A second focus point is computational intractability. NPcomplete 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.
Text
Jon Kleinberg and Eva Tardos, Algorithm Design, AddisonWesley, 2006.
Prerequisites
CS 240 (Discrete Mathematics), and CS 367 (Data Structures) are essential
prerequisites. The course catalogue also lists Math 222
(second semester of Calculus) but that prerequisite is not as essential
as the other two.
A selfcalibration homework will be handed out in the first lecture.
Course Work
 Homework (50%).
There will be an assignment every other week. Expect the problems to be
challenging so start early.
You are allowed to discuss the problems in group but you
should write out the solutions on your own and give credit to your
collaborators.
No sources other than the instructor, the TA, and your fellow students
in the course are allowed.
Model solutions will be handed out during the lecture in which the
homework is due, so no late assignments can be accepted.
 Exams:
Midterm (20%) on M 10/29, 7:1510:15pm in Humanities 1111 and
Final (30%) on F 12/21, 7:259:25pm in CS&S 1325.
Both exams are closed book and closed notes.
 If you are taking this course for honors credit, you are
expected to do the extra credit problems that are assigned with
each homework, as well as to participate in the preparations for the
regional competition of the
ACM International
Collegiate Programming Contest.
References
The following book is on reserve in Wendt library:
 T. Cormen, C. Leiserson, R. Rivest, and C. Stein,
Introduction to Algorithms, 2nd edition, 2001.
In case you need to refresh discrete math, the text book used for
Math 240 is also on reserve:
 K. Rosen,
Discrete Mathematics and its Applications, 4th edition, 2003.
