Computer Sciences Dept.

CS 577 - Introduction to Algorithms

Fall 2014 - Section 2
Picture of Kleinberg-Tardos cover

Course Description

This course provides an undergraduate-level 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, divide-and-conquer, dynamic programming, and reductions. 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, 2006


CS 240 (Discrete Mathematics) and CS 367 (Data Structures)



MW 2:30-3:45pm in Noland 168

Review Sessions

M 7:15-9:15pm in CS&S 1325

More info

  • Moodle: lecture schedule, assignments, other course materials, and grades.
  • Piazza: on-line discussions.
  • Wendt Library: reserve materials.

Computer Sciences | UW Home