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
grading
Exam Solutions
grading
Exams
Instructor Insights
notes
Lecture Notes
theaters
Lecture Videos
assignment_turned_in
Problem Set Solutions
assignment
Problem Sets
theaters
Problem-solving Videos
Frisbees® featuring a flow network were tossed out during lectures to reward class participation. (Photo courtesy of Prof. Devadas)