Introduction to Algorithms (6.006)
Is this course right for you?
The value is the rigour: it teaches why algorithms are correct and how to analyse their complexity, not just patterns to memorise. That is the CS-fundamentals gap most self-taught developers feel, and closing it makes you a sharper engineer. It moves at MIT's pace and expects you to work the problem sets.
It is not interview prep and not for beginners: if you want LeetCode-style drilling a dedicated interview course fits better, and if you are new to coding, start with an intro course first. There is no certificate and no graded feedback from the free materials. The recordings are a few years old, but the algorithms remain relevant.
Compare alternatives for Introduction to Algorithms (6.006)
- Price
- FreeCompletely free, openly licensed — no certificate
- Duration
- 45 hrs
- Level
- Intermediate
- Certificate
- Price
- FreeCompletely free, forever
- Duration
- 300 hrs
- Level
- Intermediate
- Certificate
- Course Certificate
- Price
- FreeFree lecture materials available online
- Duration
- 45 hrs
- Level
- Intermediate
- Certificate
- Price
- FreeCompletely free, forever
- Duration
- 300 hrs
- Level
- Intermediate
- Certificate
- Course Certificate
About this course
6.006 is the undergraduate algorithms course at MIT — the same material, at the same pace, with the same problem sets and exams that MIT students take for credit. Taught by Erik Demaine and Jason Ku, it covers the algorithms and data structures foundational to computer science and software engineering interviews: sequence data structures, sorting algorithms, binary search trees, graphs, BFS and DFS, Dijkstra's and Bellman-Ford, dynamic programming, and complexity analysis.
Instructor
Taught by Erik Demaine and Jason Ku, MIT faculty in theoretical computer science. Demaine is known for recreational mathematics and origami-inspired algorithms research.