Archived Versions

6.854J / 18.415J Advanced Algorithms

As taught in: Fall 2005

Adaptive mesh refinement algorithm technique.

The adaptive mesh refinement algorithm technique, shown above, is used to break complex computing problems into smaller pieces. (Image courtesy of Ernest Orlando Lawrence Berkeley National Laboratory.)




Prof. David R. Karger

Course Description

This course is a first-year graduate course in algorithms. Emphasis is placed on fundamental algorithms and advanced methods of algorithmic design, analysis, and implementation. Techniques to be covered include amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms. Domains include string algorithms, network optimization, parallel algorithms, computational geometry, online algorithms, external memory, cache, and streaming algorithms, and data structures.