Selection 1 · Lecture notes, with videos and problem sets on the course site
MIT 6.006: Introduction to Algorithms
MIT OpenCourseWare · Erik Demaine and Srini Devadas
- Relevant syllabus areas
- Programming and Data Structures; Algorithms
- Start here
- Sorting and trees (lectures 3–7), hashing (8–10), graph search and shortest paths, then the dynamic-programming unit.
- Before you start
- Write and trace a short program; understand recursion, logarithms and basic discrete mathematics before tackling the analysis.
- Turn the reading into practice
- Trace a data structure on a tiny input, state its invariant, and count operations before reading the analysis. Pair the relevant lecture with a CS PYQ on that technique.
- Scope limits
- This course uses Python, not the C semantics required by CS. It is not a complete CS algorithms checklist: keep minimum spanning trees and greedy methods explicitly on your syllabus audit rather than assuming this selection covers them.
- What is free?
- The linked MIT OpenCourseWare notes are free to read and download. OCW materials are not enrolment in an MIT course and do not award a certificate; separately listed textbooks may require purchase.
What we checked ·
The notes page lists sorting, heaps, hashing, graph algorithms and dynamic programming. Lecture 2 distinguishes an algorithm from its implementation and explains operation costs under RAM, pointer-machine and Python models.
Open the inspected sample