Learn · MIT OpenCourseWare

The 6.006 course logo, with a 2x2x2 Rubik's Cube in place of each zero.

Course6.00647 lectures41 h 46 min

Introduction to Algorithms

Prof. Erik Demaine and Prof. Srini Devadas · Massachusetts Institute of Technology

Start with lecture 1 At MIT OpenCourseWare

About

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.

Lectures

Lecture Videos

  1. Lecture 1: Algorithmic Thinking, Peak Finding 54 min · Video
  2. Lecture 2: Models of Computation, Document Distance 49 min · Video
  3. Lecture 3: Insertion Sort, Merge Sort 52 min · Video
  4. Lecture 4: Heaps and Heap Sort 53 min · Video
  5. Lecture 5: Binary Search Trees, BST Sort 53 min · Video
  6. Lecture 6: AVL Trees, AVL Sort 52 min · Video
  7. Lecture 7: Counting Sort, Radix Sort, Lower Bounds for Sorting 53 min · Video
  8. Lecture 8: Hashing with Chaining 52 min · Video
  9. Lecture 9: Table Doubling, Karp-Rabin 53 min · Video
  10. Lecture 10: Open Addressing, Cryptographic Hashing 51 min · Video
  11. Lecture 11: Integer Arithmetic, Karatsuba Multiplication 48 min · Video
  12. Lecture 12: Square Roots, Newton's Method 52 min · Video
  13. Lecture 13: Breadth-First Search (BFS) 51 min · Video
  14. Lecture 14: Depth-First Search (DFS), Topological Sort 51 min · Video
  15. Lecture 15: Single-Source Shortest Paths Problem 54 min · Video
  16. Lecture 16: Dijkstra 52 min · Video
  17. Lecture 17: Bellman-Ford 49 min · Video
  18. Lecture 18: Speeding up Dijkstra 54 min · Video
  19. Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths 52 min · Video
  20. Lecture 20: Dynamic Programming II: Text Justification, Blackjack 53 min · Video
  21. Lecture 21: Dynamic Programming III: Parenthesization, Edit Distance, Knapsack 53 min · Video
  22. Lecture 22: Dynamic Programming IV: Guitar Fingering, Tetris, Super Mario Bros. 50 min · Video
  23. Lecture 23: Computational Complexity 52 min · Video
  24. Lecture 24: Topics in Algorithms Research 47 min · Video

Recitation Videos

  1. Recitation 1: Asymptotic Complexity, Peak Finding 54 min · Video
  2. Recitation 2: Python Cost Model, Document Distance 53 min · Video
  3. Recitation 3: Document Distance, Insertion and Merge Sort 55 min · Video
  4. Recitation 5: Recursion Trees, Binary Search Trees 1 h · Video
  5. Recitation 6: AVL Trees 54 min · Video
  6. Recitation 7: Comparison Sort, Counting and Radix Sort 52 min · Video
  7. Recitation 8: Simulation Algorithms 56 min · Video
  8. Recitation 9: Rolling Hashes, Amortized Analysis 1 h 2 min · Video
  9. Recitation 9b: DNA Sequence Matching 58 min · Video
  10. Recitation 10: Quiz 1 Review 55 min · Video
  11. Recitation 11: Principles of Algorithm Design 59 min · Video
  12. Recitation 12: Karatsuba Multiplication, Newton's Method 54 min · Video
  13. Recitation 13: Breadth-First Search (BFS) 55 min · Video
  14. Recitation 14: Depth-First Search (DFS) 54 min · Video
  15. Recitation 15: Shortest Paths 57 min · Video
  16. Recitation 16: Rubik's Cube, StarCraft Zero 55 min · Video
  17. Recitation 18: Quiz 2 Review 1 h 6 min · Video
  18. Recitation 19: Dynamic Programming: Crazy Eights, Shortest Path 53 min · Video
  19. Recitation 20: Dynamic Programming: Blackjack 53 min · Video
  20. Recitation 21: Dynamic Programming: Knapsack Problem 1 h 10 min · Video
  21. Recitation 22: Dynamic Programming: Dance Dance Revolution 54 min · Video
  22. Recitation 23: Computational Complexity 48 min · Video
  23. Recitation 24: Final Exam Review 52 min · Video

Syllabus and materials

At MIT OpenCourseWare, as the course publishes them.

Credits and licence

Institution
Massachusetts Institute of Technology
Department
Electrical Engineering and Computer Science
Taught by
Prof. Erik Demaine, Prof. Srini Devadas
Term
Fall 2011
Level
Undergraduate
Language
English
Subjects
Computer science, Engineering
Source
MIT OpenCourseWare
Licence
CC BY-NC-SA 4.0, as MIT OpenCourseWare states it. Non-commercial use only. MIT OpenCourseWare's terms
Attribution
Prof. Erik Demaine, Prof. Srini Devadas. Introduction to Algorithms. Fall 2011. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu/. License: Creative Commons BY-NC-SA.
Who can watch
MIT OpenCourseWare gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed