An Autodidact’s Degree in Computer Science
Synthesizing a full major out of MIT’s OpenCourseWare
MIT’s OpenCourseWare is an amazing resource—I often can’t believe that it exists at all. For the unfamiliar: OpenCourseWare is a collection of some of MIT’s classes, often complete with lecture videos, problems sets, quizzes, and answers. Oh, it’s also completely free.
There’s a significant drawback though (well, two drawbacks considering you can do all of these classes and never get a degree): You’re left to your own devices to choose what classes to take and in what order. Considering that many classes have a prerequisite or two, you could spend a while trying to piece together a sequence of classes to take.
Let me be your advisor! I’ve talked with some Computer Science majors and autodidacts alike to craft the major requirements for a Bachelor’s of Science in Computer Science in a five semester sequence. If you take the classes in order, you’ll be sure to meet all the prerequisites.
Semester 1
Computer Science
- 6.0001 Introduction to Computer Science and Programming in Python
- 6.0002 Introduction to Computational Thinking and Data Science
Math
Physics
Semester 2
Computer Science
- 6.01SC Introduction to Computer Science and Electrical Engineering
- 6.042J Mathematics for Computer Science
Math
Physics
Semester 3
Computer Science
Math
Semester 4
Computer Science
- 6.006 Introduction to Algorithms
- 6.033 Computer System Engineering
- 6.034 Artificial Intelligence
- 6.171 Software Engineering for Web Applications