Syllabus for CS 591-006 "Algorithms in the Real World"

Meeting Time and Place: Tuesdays and Thursdays 2:00-3:15 in Mechanical Engineering 208

Course Description:
In the past several years, the algorithms research community has had several major breakthroughs in designing algorithms which have both strong theoretical and strong empirical properties. For example, the very successful companies Google and Akamai were both built on provably good algorithms first described at major research conferences (WWW '96 and STOC '97 respectively). Additionally, the company Celera attributes much of its success in genome sequencing to its algorithm engineers.

In this course, we will study several algorithms which have been successful in the real world. We will learn some new algorithmic tools that have proven successful for real world problems including: ways to create approximation algorithms for NP-Hard problems, ways to exploit the power of randomness, and ways to create tractable abstract problems from messy real-world problems. We will also study some important open algorithmic problems whose solutions would have a big "real-world" impact.
Texts: There is no required text but the following texts are recommended for reference: "Approximation Algorithms for NP-Hard Problems" Edited by Dorit S. Hochbaum and "Randomized Algorithms" by Raghavan and Motwani.

Topics

Topics will include:

Tentative Grading Weights

Prerequisites

A necessary prerequisite for this class is a standard undergraduate algorithms course (equivalent to our CS 461). Some basic familiarity with discrete probability is also helpful although not required.

Policies

Assignment deadlines are strict: late homework will automatically receive a grade of zero, unless reasonable cause can be shown (which is easy for one, possible for two, and very hard for three or more!); no make-up. Collaboration is encouraged on all of the homeworks although the solutions should be written up individually. Usual university policies for withdrawals, incompletes and academic honesty.