6.854J / 18.415J Advanced Algorithms

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.)

Course Highlights

This course features lecture notes, a full set of assignments with solutions, and a projects section.

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.
Donate Now


Prof. David R. Karger

Course Meeting Times

Three sessions / week
1 hour / session



Archived Courses

Previous version