The area of approximation algorithms deals with finding provable guarantees on the performance of heuristic solutions to hard combinatorial optimization problems. The course will present a variety of techniques that have been developed in the area of approximation algorithms ranging from dynamic programming, greedy methods, mathematical programming, randomization and metric methods. See here for more information...