CS 577: Introduction to Algorithms

    Fall 2006


      Course info
      Contact info

       UW CS
       Theory Group


    • 12/14. Sample Final Solutions are posted here.
    • 12/12. Solutions to HW6a are now posted.
    • 12/05. We will have a review session in CS 4310 on Friday 12/08 from 3:00 PM to 5:00 PM. Please send email to Shuchi about any specific topics or questions that you would like discussed.
    • 12/05. The final exam is in two weeks from now. It will be two hours long and contain 3-4 questions. You are allowed to bring a "cheat-sheet" -- a letter-sized sheet of paper with both sides written. Apart from this, the exam will be closed book and closed notes.
    • 10/31. Midterm solutions are posted here.
    • 10/11. There will be a midterm review session on Oct. 20th (Friday) from 3:00 PM to 5:00 PM in CS 4310. If you want any specific questions or topics to be discussed, please send these in an email to Siddharth by Oct 18th.
    • 10/10. The midterm exam is in exactly two weeks from now. The syllabus includes everything we cover in class in lectures 1 through 12, and textbook chapters 1 through 6. The exam is an hour and a half long, and will be closed book and closed notes.
    • 9/5. Two emails were sent out to the class mailing list, one on 9/4 night and one on 9/5 afternoon. If you have not received any of these emails and would like to be on the class mailing list, send email to Shuchi.
    • 9/4. HW0 is now posted. The first class will be tomorrow at 11:00 a.m. in Ingraham 222. Please be sure to attend.
    • 8/19. Welcome! Please check this space frequently for updates.

    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, 2006.


    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.



    Shuchi Chawla
    Office: CS 4395
    Phone: 890-0027
    Email: first_name (AT) cs (DOT) wisc (DOT) edu
    Lectures: TR 11:00 a.m. - 12:15 p.m. in Ingraham 222
    Office hours: T 3:00 p.m. - 4:00 p.m. and R 1:30 p.m. - 2:30 p.m.

    Teaching Assistant:    

    Siddharth Barman
    Office: CS 3357
    Phone: 890 0034
    Email: sid (AT) cs (DOT) wisc (DOT) edu
    Office hours: M 1:00 p.m. - 2:30 p.m. and F 3:00 p.m. - 4:00 p.m.