Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Massachusetts Institute of Technology

Introduction to Algorithms (Fall 2011)

Massachusetts Institute of Technology via MIT OpenCourseWare


Course Features

  • Video lectures
  • Captions/transcript
  • Lecture notes
  • Assignments: problem sets with solutions
  • Assignments: programming with examples
  • Exams and solutions
  • Recitation videos

Course Description

This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.


1. Algorithmic Thinking, Peak Finding.
2. Models of Computation, Document Distance.
3. Insertion Sort, Merge Sort.
4. Heaps and Heap Sort.
5. Binary Search Trees, BST Sort.
6. AVL Trees, AVL Sort.
7. Counting Sort, Radix Sort, Lower Bounds for Sorting.
8. Hashing with Chaining.
9. Table Doubling, Karp-Rabin.
10. Open Addressing, Cryptographic Hashing.
11. Integer Arithmetic, Karatsuba Multiplication.
12. Square Roots, Newton's Method.
13. Breadth-First Search (BFS).
14. Depth-First Search (DFS), Topological Sort.
15. Single-Source Shortest Paths Problem.
16. Dijkstra.
17. Bellman-Ford.
18. Speeding up Dijkstra.
19. Dynamic Programming I: Fibonacci, Shortest Paths.
20. Dynamic Programming II: Text Justification, Blackjack.
21. DP III: Parenthesization, Edit Distance, Knapsack.
22. DP IV: Guitar Fingering, Tetris, Super Mario Bros..
23. Computational Complexity.
24. Topics in Algorithms Research.
R1. Asymptotic Complexity, Peak Finding.
R2. Python Cost Model, Document Distance.
R3. Document Distance, Insertion and Merge Sort.
R5. Recursion Trees, Binary Search Trees.
R6. AVL Trees.
R7. Comparison Sort, Counting and Radix Sort.
R8. Simulation Algorithms.
R9. Rolling Hashes, Amortized Analysis.
Recitation 9b: DNA Sequence Matching.
R10. Quiz 1 Review.
R11. Principles of Algorithm Design.
R12. Karatsuba Multiplication, Newton's Method.
R13. Breadth-First Search (BFS).
R14. Depth-First Search (DFS).
R15. Shortest Paths.
R16. Rubik's Cube, StarCraft Zero.
R18. Quiz 2 Review.
R19. Dynamic Programming: Crazy Eights, Shortest Path.
R20. Dynamic Programming: Blackjack.
R22. Dynamic Programming: Dance Dance Revolution.
R21. Dynamic Programming: Knapsack Problem.
R23. Computational Complexity.
R24. Final Exam Review.

Taught by

Prof. Erik Demaine and Prof. Srini Devadas

Related Courses


Start your review of Introduction to Algorithms (Fall 2011)

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free