Introduction to Algorithms (6.006)
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.
Unlike applied coding courses that teach algorithms through LeetCode-style problems, MIT 6.006 teaches the mathematical foundations — why algorithms work, how to prove their correctness, and how to analyze their complexity rigorously. This is the academic complement to interview-prep algorithm courses, and the reference most self-taught developers cite when they want to close the CS fundamentals gap.
What you'll learn
This course includes
Compare alternatives for Introduction to Algorithms (6.006)
- Price
- FreeCompletely free, openly licensed — no certificate
- Duration
- 45 hrs
- Level
- Intermediate
- Certificate
- Price
- FreeCompletely free, openly licensed — no certificate
- Duration
- 34 hrs
- Level
- Intermediate
- Certificate
- Price
- FreeFree lecture materials; some versions paid
- Duration
- 50 hrs
- Level
- Advanced
- Certificate
- Price
- FreeFree lecture materials; some versions paid
- Duration
- 50 hrs
- Level
- Advanced
- Certificate
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.
Requirements
- Solid programming experience in any language
- Basic math comfort (proof techniques, logarithms, summations)
Who this course is for
- Self-taught developers closing the CS fundamentals gap
- Software engineers preparing for technical interviews who want depth
- CS students who want free access to MIT-caliber lecture content