Curriculum Overview
MIT OCW courses curated around the 8 pillars of professional software engineering.
What This Is
A software engineering track assembled from MIT's EECS curriculum — focused on how software is designed, built, tested, scaled, and secured. Emphasizes professional craft over pure theory. Every course links to free OCW materials: lectures, problem sets, and projects.
What You'll Master
- Programming fundamentals & software construction
- Software design patterns & abstraction
- Algorithms, data structures & complexity
- Systems engineering & computer architecture
- Databases — relational design, SQL, internals
- Distributed systems & scalable architecture
- Security — web, systems, cryptography
- Performance engineering & low-level optimization
Programming
Python, Java, C — writing correct, clean, maintainable code
Design
Abstraction, patterns, modularity, specification
Algorithms
Data structures, complexity, design & analysis
Systems
OS, networks, architecture, concurrency
Databases
Relational design, SQL, query engines, NoSQL
Distributed
Consensus, replication, fault tolerance, scale
Security
Crypto, web security, systems security
Performance
Profiling, parallelism, memory, low-level C
Year One — Foundations of Construction
Software construction, programming fundamentals, discrete math, and intro algorithms.
// Semester 1 — Fall
Construction// Semester 2 — Spring
Design + AlgorithmsYear Two — Systems & Engineering
Computer systems engineering, design & analysis of algorithms, databases, and software engineering concepts.
// Semester 3 — Fall
Systems Engineering// Semester 4 — Spring
Databases + WebYear Three — Distributed & Secure Systems
Networks, distributed systems, security, and performance engineering.
// Semester 5 — Fall
Networks + Distributed// Semester 6 — Spring
Security + PerformanceYear Four — Advanced Engineering & Elective
OS engineering, advanced algorithms, capstone project, and a free elective semester of your choosing.
// Semester 7 — Fall
Advanced + Capstone// Semester 8 — Spring
Elective — TBDSemester 8 — Decide When You Get There
By Year 4 you'll know what's clicked. Strong options: 6.036 (Machine Learning), 6.857 (Network Security), 6.034 (Artificial Intelligence), 6.830 (Advanced DB topics), 16.355J (Software Engineering Concepts), or any advanced OCW course that aligns with where you want to go professionally.
Key Resources
The highest-signal OCW courses and references for this track.
6.824 — Distributed Systems (Spring 2020)
Robert Morris. Full lecture videos, Go labs: Raft, MapReduce, fault-tolerant KV store.
6.172 — Performance Engineering (Fall 2018)
Leiserson & Shun. C programming, caching, parallelism, Cilk. Full lecture videos.
6.858 — Computer Systems Security (Fall 2014)
Web attacks, memory exploits, sandboxing, crypto. Full lecture videos and labs.
6.033 — Computer Systems Engineering (Spring 2018)
The essential systems survey: OS, networks, distributed systems, security, fault tolerance.
6.005 / 6.031 — Software Construction (Spring 2016)
Testing, specs, ADTs, concurrency, design patterns. The professional coding baseline.
6.830 — Database Systems (Fall 2010)
Relational model, SQL, query execution, transactions, recovery, distributed DBs.
6.006 — Introduction to Algorithms (Spring 2020)
The most-watched OCW CS course. Full lecture series, recitations, problem sets.
6.828 — Operating System Engineering (Fall 2012)
MIT's xv6 OS in C. Processes, file systems, virtual memory. Full labs available.