Introduction to Algorithms

  • Free
  • No certificate
Provider
MIT
Cost
Free
Certificate
No certificate
Format
Self-paced
Language
English
Subjects
Computer Science, Programming
Source
MIT Open Learning
Last verified
14 Sep 2026

6.006 is MIT's introductory algorithms course, and the spring 2020 edition taught by Erik Demaine, Jason Ku and Justin Solomon is published on OpenCourseWare with twenty lecture videos. The course covers elementary data structures and algorithmic approaches to classical problems, and stresses the link between algorithms and programming. The lectures begin with algorithms and computation, data structures and dynamic arrays, sets and sorting, hashing and linear sorting. They then turn to binary trees and AVL trees, binary heaps, breadth-first and depth-first search, weighted shortest paths with Bellman-Ford, Dijkstra, all-pairs shortest paths and Johnson's algorithm.

Four lectures develop dynamic programming, from Fibonacci and DAGs through longest common subsequence, coin problems, rod cutting and subset sum, and the series closes with complexity and a course review. Materials include lecture notes, three quizzes and a final exam with solutions, practice problems, and the problem sets with solutions. The syllabus notes that written material is distributed as lecture and recitation notes and that the CLRS textbook is a useful but not required reference. Everything is free to use under the OpenCourseWare Creative Commons licence, with no account or certificate.

Advertisement

What you’ll learn

  • Model computational problems mathematically and measure algorithm performance
  • Use dynamic arrays, hash tables, binary search trees, AVL trees and binary heaps
  • Sort with comparison-based and linear-time methods
  • Search graphs with BFS and DFS and compute shortest paths with Bellman-Ford, Dijkstra and Johnson
  • Design dynamic programming solutions using the SRTBOT framework
  • Recognise the basics of computational complexity

Who it’s for

Programmers who already know a language such as Python and want a rigorous, proof-oriented algorithms course; not a first programming course.

Source: MIT Open Learning (opens in a new tab) · Verified · Report a change

Advertisement
FreeOpens ocw.mit.edu Go to course (opens in a new tab)