6.046J | Spring 2015 | Undergraduate

Design and Analysis of Algorithms

Course Description

This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application. Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography.
Learning Resource Types
theaters Lecture Videos
theaters Recitation Videos
assignment_turned_in Problem Sets with Solutions
grading Exams with Solutions
notes Lecture Notes
co_present Instructor Insights
A picture of a blue frisbee with a four node graph printed on it.
Frisbees® featuring a flow network were tossed out during lectures to reward class participation. (Photo courtesy of Prof. Devadas)