Engr 2540 MWF 11:00-12:15PM
    Fall 2009



       UW CS
       Theory Group

    Course Description

    Algorithm design and analysis is a fundamental and important part of computer science. This course introduces students to advanced techniques for the design and analysis of algorithms, and explores a variety of applications.

    The topics and applications that we tentatively plan to cover include hashing, bloom filters, scheduling, network design, online load balancing, algorithms in machine learning, boosting (in the context of learning), Markov chains and the MCMC method, byzantine agreement, internet algorithms, and nearest neighbor algorithms. Enroute, we will encounter various useful ideas, including randomization, probabilistic analysis, amortized analysis, competitive analysis, eigenvalues, linear and semi-definite programming, high dimensional geometry, and random walks.

    Reference books

    There is no textbook required for the course. Lecture notes will be made available from the course web page. Please visit the course webpage frequently for extra reading material. Recommended and reference books for each topic are listed below. Some of these books (as specified below) have been placed on reserve in the Wendt library.

    Approximation Algorithms Randomized Algorithms Online Algorithms Basic algorithm design (undergraduate material)


    One undergraduate course in algorithms (577) or complexity (520, 810, or 830) is required. If you are unsure of whether you have sufficient background for this course or not, please contact the instructor within the first week.

    Grading & Evaluation

    Homework and exams: There will be 3 homeworks and one take-home final (20% each), all to be done individually.
    Course project: Projects are to be done in groups of two to three (or, by permission of the instructor, alone). Roughly mid-semester, each group should pick a topic of choice related to the course, get it approved from the instructor, and perform self-study of a few papers or chapters related to the topic. These will then be presented in class towards the end of the semester. Each group will be allotted a 30-min presentation time. The groups must also prepare a report of 4-8 pages related to their presentation which will be put online and available to the rest of the class as reference. The presentations and reports will be peer-evaluated (with input from the instructor). The class project counts towards 20% of your final score.


    Instructor: Shuchi Chawla
    Lectures: MWF 11:00 p.m. - 12:15 p.m. in Engr 2540
    Office hours:       M 1:30 p.m. - 2:30 p.m., W 9:45 a.m. - 10:45 a.m., F 2:30 p.m. - 3:30 p.m., but only on lecture days, and by appointment any time of the week.
    Office: CS 4373
    Phone: 890-0027
    Email: shuchi (AT) cs (DOT) wisc (DOT) edu

    Teaching Assistant:        

    Keith Langston
    Office hours:       T 3:00 p.m. - 4:00 p.m., R 4:00 p.m. - 5:00 p.m.
    Office: CS 3355
    Email: langston (AT) cs (DOT) wisc (DOT) edu