Starting October 1st, I’m embarking on a new challenge. Watch the video above or read below to find out more (if you’re reading this twice, don’t worry, I accidentally posted it before the video was finished)
The MIT Challenge — 4 Years of Learning in 12 Months
Over the next 12 months, I’m going to learn the entire 4-year MIT curriculum for computer science, without taking any classes.
Computers have always fascinated me. From finance to Facebook, algorithms are the hidden language that underlies most of our life. The largest transformations of our world are being written in code, and advancements in artificial intelligence allow us to use computers to understand what it means to be human.
Beyond the poetry of the machine, computer science is also immensely practical. Fortunes have been made and revolutions sparked on lines of code.
I’ve always wanted to speak that language. But, I didn’t want to invest four years of my life and hundreds of thousands of dollars to learn it.
I’m embarking on this experiment because I want to show that learning doesn’t require acceptance boards and SAT tests, thousands of dollars in debt, or even the 4-year pace most students assume is necessary to learn a subject.
Will I fail? It’s definitely a possibility—people a lot smarter than myself struggle through immense workloads at institutions like MIT, and I’m attempting to learn the same material at 4x the speed, without the benefit of instructors.
All I can promise is to share what I find with you. Listed here are all 33 classes I’ll be covering. For each of them, I’ll write the final exam and you can compare my answers to the MIT official solutions. I’ll also post any failures, so you can be sure I’m not omitting my mistakes.
Subscribe to my new YouTube channel as well, as I’ll be making regular video updates to the challenge as well as sharing insights in learning faster and self-education.
What are your thoughts? I’d love to hear what you think of the challenge in the comments!



I'm a speed-reading, vegetarian, holistic learning, productivity hacking recent university graduate. And, for the last five years I've been experimenting to find out how to get more from life.
This is so cool. You bet I’ll be following along your progress – it gives me an excuse to check out your blog more anyway.
I have 2 quick questions if that’s okay.
1 – Aren’t you taking Stanford’s online Artificial Intelligence course beginning Oct 10? I am, and I’m pretty sure I found out about it here.
2 – Will you still be writing regularly here? No biggie, there’s a huge archive, just curious.
Good luck!
Sounds interesting
. I’ve been wanting to try my hand at being a autodidact. However, most ‘advice’ and experience stories (colored by the remembering self) are already on finished techniques. It’ll be a learning experience for us too, watching the in-journey accounts of this.
From what I’ve observed, you’ve shown more people its possible to be an autodidact without the perceived superpower of “natural genius” instead using sound methods that can be replicated with deliberate practice. [Like that athlete who broke a longstanding scientific upper bound on length of running time where they predicted the human body would collapse, after he did that, 6 people followed suit]. Many thanks for your work and value.
Kudos, and break a leg!
Adam,
I’m enrolled in that course, but I think I may just scrape the material and save it for later rather than follow it in this moment, as I’ll definitely have my hands full. My reason for going with MIT is that their free library of courses is so much more extensive than any other major university (aside from being, arguably, the best university in the world for computer science)
-Scott
Awesome idea man, looking forward to tuning in.
Where can I find this directory of free MIT courses? I’m a high school student and want to pursue Physics and Aerospace Engineering (interested in Spacecraft design) in the future. So I thought I might as well see what the courses and lectures in the world’s best university for science and engineering are like …
Best of luck to you. It will definitely be a great undertaking.
8.02 E&M from my friends who took it said the M stood for masochism.
It would be interesting to figure out how much of this knowledge is retained after the courses and is useful afterwards.
I find usually it’s a thorough and complete understanding of materials that finally make it useable knowledge.
Dude how u can make it without going to class? bcoz ppl say that u cant understand the topic without lecturers help and most of the students must go tuition besides the class in U. so how u gonna do it? ( I believe that it is possible for someone who have very high IQ.)
I think the idea is great, and also a great challenge. I’m almost a software engineer from an university at Argentina, always known of the MIT’s prestige.
Your challenge makes me want to do exactly the same thing, or maybe a few classes.
I’ll stay tunned of your progress, best of luck!
Gadfire,
That’s going to be part of the fun! A good third of the classes have video lectures, so I will have the benefit of that, but no 1-on-1 access to instructors. I may try to hack the tutoring process later if I start getting stuck.
Karan,
Most of the courses I’m taking can be found here: http://ocw.mit.edu/index.htm
-Scott
Wow, I will definitivly follow this “adventure”.
Please, would you mind sharing your study techniques and planning method for acing any test?
Best regards
Scott, I just wanted to ask you a question: Since one concept will probably cover many pages in a textbook, how would you effectivly read this and apply the Feynman technique? The reading is time-consuming.
Best regards
You are so inspiring. Good luck! I can’t wait to see what happens.
Now, after reading that, maybe studying for Mammalian Physiology won’t seem so daunting.
Cheers,
Stephanie
Hello Scott,
I may do the same as you. I find CS fascinating and would rather learn what I can through free material at the time than spend thousands on University. Cheers to you bro and look forward to the updates!
Sincerely,
Alex
Much success on your MIT challenge. I think you’ll inspire a legion of self-learners. I would add one more challenge to the course load, don’t stop writing. Videos are fine and quicker than the pen (though not mightier). Writing is what makes your blog a real gem- Jonathan
hey scott,
Are biology and chemistry important for computer programming?
Scott,
Great idea!
I like the ambition and audacity of your new project.
Needless to say, I look forward to reading about your progress.
Best of luck!
Aaron
That MIT website is a practical treasure trove of information. What a brilliant resource.
I wish you all the best in your endeavours Scott. I love how you’re constantly giving yourself new challenges and experiences just for the purpose of them themselves.
Gadfire,
My goal, first and foremost, was to as closely model the MIT curriculum as possible. As such, MIT’s stated goal is to produce graduates that have a grounded understanding in all of the sciences, so biology, physics, calculus and chemistry are GIR’s (General Institution Requirements). Had I been just learning on my own, I might have skipped these, but part of my challenge is to try to closely model the education one would get at a higher institution, otherwise I could just learn whatever I felt like without restriction.
Part of my goal is to make a social statement about education, so that means sometimes replicating the less flexible structure of formal education to make a point.
Jonathan,
I’m going to continue writing. The videos are simply a side-channel to talk about the challenge more frequently.
Dream,
Read first, Feynman Technique after if you’re getting stuck.
-Scott
Scott,
Are you going to buy the required books for each subject OR just use the videos?
Thanks,
Neal
When I think of the in-depth nitty-gritty courses of Computer Science, colleges I think of are MIT & Carnegie Mellon University. Learning a 4-year course within an one-year span, will require discipline and commitment. This may inspire prospects to do this in different subject areas, and I hope it does. Yes, you will have trial-and-error, but that is why you are challenging this notion to learn all 33 courses in one year.
I will definitely follow your progress. Best of luck Scott!
Neal,
It will depend. The books are pretty cheap (buying used + older editions) so I’m buying the books for most classes just in case. Textbook costs will be around $1000-$1500 for the entire program, so I’m not too concerned about it.
-Scott
Dear Scott,
This endeavor is truly exciting, and intimidating too. I’m a computer science grad student myself and am gonna follow this project of yours very keenly.
As I went through your list of subjects, I couldn’t help but notice some of the core computer science related subjects missing in the list. If you wish to do a complete, consummate coverage of the field, you might want to add subjects like – Computer networks, Database systems, Operating systems.
Anyhow, thats just a humble pointer. You need not be obliged to be answerable to people’s expectations. I wish you all the very best.
And please, if you could let us know how a day in your life would be like, during this feat, it would be immensely helpful. Like, you are not studying 15 hours a day right!?
Good luck! I’m self taught in a language and love it.
Good luck!! I wish I could try something like this but I’m studying a medical degree and getting my hands on human patients without the degree paper might be bit difficult…
Ria,
True–this approach won’t work with all disciplines.
Nitin,
This is the curriculum list at MIT, so my guess is that some of the topics you mentioned will actually be taught in classes under a different title. My goal is to gain the same knowledge as what one could expect to learn doing an undergrad at MIT, if there’s a weakness in the curriculum that’s a criticism of MIT not really my challenge.
Great aim!
My thoughts
- You have previous univ. experience, emphasis on math here, which in my opinion makes the challenge less legitim(my bad – I think you not claimed anything more than what it is)
- If you take the courses sequentially maybe you won’t have enought time. In my experience concepts need time to embodied into one’s thinking and to provide a platform for further abstraction. And it’s really maybe just time/sleeping and not just pure effort or good approach. I would learn the courses parallel.
- Don’t loose the broader perspective. That actually you want to incorporate the knowledge into your life. Don’t let just prove the point and miss out interesting stuff because of some stupid deadline. The reverse is also true – why learn stuff which is tangential to your life? Do yourself good and just commit to pass 33 science-subjects. Decide just on time the exact classes.
Anyway great experience, would be glad to read more about! Good luck!
Argonz
Argonz,
Yes–and I’ve also had some programming and CS experience too. I’m not claiming otherwise, but I still feel the challenge is legitimate because (particularly at institutions like MIT) many of the students have an incredible head start. I can’t make myself a blank slate simply to prove a point.
I’m not losing the broader perspective, but the goal provides a structure and motivation for my challenge. Most people don’t learn an entire curriculum worth of courses from self-ed precisely because it isn’t immediately exigent.
-Scott
good luck scott!
I’m not sure your standards for passing are high enough. Most schools require you to maintain a minimum of a C (2.0/4.0), at least in major classes, to graduate.
[...] multiple years of school? Scott Young is putting himself to the challenge, attempting to complete four years of MIT in just 12 months. To be fair, he’s not really taking the courses and he’s not really [...]
Hey Scott,
Found your article through a retweet and thought I’d leave a few thoughts.
First this is awesome and your level engagement/dedication is phenomenal! There’s no question you’re going to come out a greatly improved programmer at the other end of your 12 month journey.
You mentioned in your video that programming is a language that you want to feel comfortable in – you want to be able to wield the practical powers of code. As a programmer myself, let me say that this is a worthy and immensely rewarding goal to achieve. It’s probably even better than you’re imagining now.
You probably already have this in mind, but I just want to emphasize that, like a spoken language, practical programming isn’t really about the breadth of knowledge you have.
Instead, it’s about getting a sense for the basic structures and then applying them to real-world problems as much as possible. Getting out into the world and “conversing” in the language, so to speak.
Topics from recursion to polymorphism to bucket sort pile and pile ontop of each other if you just go through the ordinary curriculum. But you don’t need to know even 10% of all that to start working on really useful and fun projects relevant to your real-world needs.
Even more, when you encounter a problem in real-life that requires one of those techniques, learning them comes so, so naturally and your understanding of them sinks deep.
I say this as a self-taught programmer who was asked to teach programming classes at my high-school when I was senior and tutored friends in droves during college.
Teaching has always interested me and programming is a great topic because it is so easy to apply it to the real-world. That’s why I’m often so disappointed how college comp-sci classes squander the opportunity for applied instruction.
All this to say that I think you’ll learn a lot this year no matter what. But, I think it would be worthwhile to stay cognizant of the fact that the step-by-step nature of a curriculum may make it *feel* like you’re learning a lot _about programming_ while not actually developing your true abilities _to program_.
If you have the urge to create something, don’t ignore it to get back to your lesson plan! Recognize that as the best opportunity to learn available.
Looking forward to hearing more about your journey through code!
-Nicky
Hi Scott.
If there is anyone to try this, it should be you. This fits right in with taking what you having been doing to the next level. I feel like you will get a lot out of it.
I had not seen your tweets and missed the fact that you were in LA or I would have met up with you at that time.
I sure always like your posts man. I can’t say that for most sites.
Now this is intense. I’d be interested to see how you’re doing a dozen or so classes down the road, you’ll need some serious stamina. It would be nearly impossible to do this if you had to actually go to the classes, even if you didn’t have to do any assignments, simply because of the time constraints.
One thing I’m iffy about though; I know you want to prove that you can complete an MIT curriculum, but even a specialized curriculm like computer science involves many general courses. If you’re in it for the learning, aren’t you worried about the fact that doing so much relatively irrelevant material in such a short period of time will probably hamper the knowledge you want to get out of it all in the end?
Thanks Armen, I appreciated it!
Nicky,
It’s not as obvious in the video, but my educational goal for the upcoming year isn’t to become the best programmer–it’s to learn computer science deeply. They’re related disciplines, but distinct.
The truth is, I’ve done casual programming as a hobby for years. I’ve learned Java, C, C++, Python, PHP, Ruby, MySQL and I started learning Rails a few months ago. Programming is mostly a skill (although there are some concepts to remember) so it’s mostly a matter of working on a lot of interesting projects.
That said, my goal is slightly different for this year. I don’t aim to prove that I can just build tons of programs, I instead want to focus on learning higher-level mathematics of computation and algorithms so I can focus on more interesting problems. I want to understand things like machine learning, computer graphics, OS and compilers.
Part of the reason for my focus is that I feel the common intuition is that practical skills like programming are fairly easily self-taught (if time consuming) yet the advanced theory like solving advanced proofs of algorithms are something only people who attend university can learn. That’s what I’m trying to demonstrate here.
Will,
What’s irrelevant all depends on your perspective. My main goal is to make an experiment showing that the equivalent to MIT can be learned without paying a cent in tuition or spending 4 years of your life. As such I’m learning things which aren’t as directly related to computer science, but still interest me.
Obviously I could design a more focused curriculum, but that would make it harder to argue I got the “same” learning experience as someone who actually went to MIT.
Brian,
Yes–I’ve received that comment a few times. In Canada, the letter grading system is such that generally a D is a pass (although sometimes a C is required for prerequisite courses). For me that doesn’t really have much impact on my challenge since I don’t know the actual grade distribution.
For various reasons many technical classes have lower than 50% passing rates (because the exams are made deliberately harder to generate a curve), so going with a percentage based pass/fail system isn’t ideal, but is a necessary simplification of the fact that I’m not actually in MIT.
Also–of course I want to do better than 50%! The two exams I’ve done already (in roughly 1 week/120 hour class) were around 75%. Not honor roll, but given the time constraints, are decent results.
-Scott
I just watched video :
Courses > Mathematics > Single Variable Calculus > Video Lectures > Lecture 1: Rate of Change
and I didn’t have a clue what the lecturer was on about….. I was lost very early on.
Were you already familiar with basic calculus before starting this course, or did you have to study up on the basics before you could understand that video/lecture??
Your project sounds great and is something I’d like to do, but i thnk I and most people would have to study a whole of other things e.g. basic math to be prepared to even start the first lectures of the project…….????
Good luck
JJ,
You’re right–MIT Calculus is fast paced and hard. Then again, it’s for MIT students who normally were the top of their classes in math and often took AP Calculus.
If you want to start from an earlier point and work up to calculus, Khan Academy is amazing (also free): http://www.khanacademy.org/
-Scott
Hi Scott,
I’m a current student (senior, in fact) in course 6 at MIT. This looks like a really interesting (and difficult) challenge.
I’m a bit curious how you plan to do courses like 6.005 and 6.033. In 6.005 especially, while there might be exams, they are generally pretty trivial. The difficult part of the class is the extremely time-intensive group projects. In 6.033, the bulk of the grade (and effort) is in the technical papers, not the quizzes.
Also, are all the finals (and solutions) for the classes you plan to take posted? Many times, the finals won’t be posted (and almost without exception, the solutions won’t be). Some of the classes you’ve listed have outdated OCW stuff (if anything!)
I would also recommend that you do a take-home exam from 6.046, in addition to the final (for the real experience).
Good luck!
[...] online, so I don’t have any fancy stats or progress logs to share. However, after checking out Scott Young’s MIT Challenge, I thought it might be interesting to post about my efforts. Many high school students like me [...]
Tim,
When I’m going through courses, I’ll look at the syllabus to determine how much of the course can be effectively graded from exams. If exams are worth less than 50% in total, I’ll do some projects as well to try to demonstrate my knowledge, although proving this on an objective basis is a bit more difficult.
-Scott
The whole point of 6.005 is for it to be a time-intensive project class… students report spending ~30 hours/week on it although it’s a 12 unit class. Is it really doing justice to the class if you say you’ll “do some projects”? What about lab classes (6.01, 6.002…)?
Also I agree with Tim’s question above, which you didn’t answer: what will you do about finals/solutions that aren’t posted?
And why are you taking what seems to be a 6-2 (EECS) courseload when you say you want to do 6-3 (intensive CS only)?
Good luck with this!
Anonymous,
Yes–the points regarding projects for some classes have come up multiple times. I’m going to have to do a workaround for sure, but the majority of classes are test-based, so it won’t be *as* big an issue. I’ll definitely write more about it when I cross those classes.
Of course, for projects requiring group work or something similar, I may need to make modifications. I’m doing my best to approach the MIT curriculum.
My curriculum choices are based on this: http://web.mit.edu/catalog/degre.engin.ch6.html I tried my best to approach that curriculum for 6-3, but I had to make some substitutions where the class would have been impossible to take.
I actually have final exams w/ solutions for basically all the classes, and there’s only one or two where I might not be able to post them afterward because they aren’t released under creative commons licenses. As I said earlier, those are smaller issues I’ll have to cross when I get there.
-Scott
[...] One of my favorite blogs that falls into the category of self-improvement is Scott H Young. He focusss on the idea of “getting more from life.” In addition to the advice he offers, I’ve enjoyed following one of his most recent missions – to complete MIT’s entire 4-year computer science curriculum in 12 months. [...]
Hello Scott,
First of all, let me tell you that I absolutely loved your idea. Idea of learning without paying any substantial amount of tuition is actually breathtaking. Having said that, I want to know what’s the point in studying something for which you are not going to get any degree? I assume that just that piece of paper is what makes the difference in real life. Even though, after completing all the coursework for Computer Science and having same skills as someone who went to college, can you really call yourself MIT graduate when you apply for a job in Comp. Sci.?
Daivat,
No I can’t call myself an MIT graduate. Self-education definitely has weaknesses in a bureaucratic job market.
But what if I choose to start a start-up, or build a portfolio afterward through GitHub and use that as my resume. Not all knowledge is easily demonstrable, but that doesn’t make it impractical.
-Scott