CS 577: Introduction to Algorithms

    CS&S 1221 MWF 1:20-2:10PM
    Fall 2010

      Staff Schedule
      Picture Board

      Grading Policy

       UW CS
       Theory Group

    Course Information

    Course Description

    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) 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 self-calibration homework will be handed out in the first lecture.


    All exams are closed book and closed notes. However, you will be allowed to bring a "cheat-sheet".
    • Midterm (24%). Time/date TBA
    • Final (40%). S 12/18 7:25 p.m. - 9:25 p.m.

    Grading Policy

    • Point distribution. The points distribution for final grades is as follows: homeworks (36% - best 9 out of 10), midterm (24%), final (40%).
    • Homeworks. There will be 10 graded homeworks in all. Homework release dates and due dates are posted here. We will drop the lowest homework score from consideration when tallying each student's final score. Homeworks may be done in pairs.
    • Programming homework. You may substitute any one written homework for a programming assignment. The assignment, its evaluation, and the deadline for it should be discussed with the instructor within a day of the release of the written homework that you are substituting.
    • 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 from consideration.



    Shuchi Chawla
    Office: CS 4373
    Phone: 890-0027
    Email: shuchi (AT) cs (DOT) wisc (DOT) edu
    Lectures: MWF 1:00 p.m. - 2:10 p.m. in COMP S&ST 1221
    Office hours: M 10:00 a.m. - 11:00 a.m. & F 2:30 p.m. - 3:30 p.m. in CS 4373

    Teaching Assistant:    

    Nilay Vaish
    Office: CS 3379
    Email: nilay (AT) cs (DOT) wisc (DOT) edu
    Office hours: T 4:00 p.m. - 5:00 p.m. in CS 3379
    Review session: R 5:00 p.m. - 6:00 p.m. in Engg. 3345