To access the course for free, click here.
Last week marked week one of my MIT Challenge, to learn their 4-year computer science curriculum in 12 months, without taking classes. As you can watch in the video above, this week was calculus.
I started the class on Monday and wrote the exam on Friday afternoon. This meant I had roughly 4.5 days to watch 30+ hours of video lectures, understand all the concepts and master the math enough to pass a 3-hour comprehensive exam.
Why Bother Learning Calculus?
First though, why bother learning calculus at all? Beyond being a required course for my challenge, I think calculus has an unfair reputation as being either too hard or not useful enough to bother learning.
I happen to think calculus is cool, and that’s not only because I’m a huge geek. Calculus is a tool that allows you to solve really interesting problems, that are much harder to solve without any knowledge of calculus.
For learning computer science, for example, calculus allows you to run machine learning algorithms in artificial intelligence, render 3D computer graphics and create physics engines for video games. Calculus may seem a little daunting or dry from the outset, but that’s mostly because people don’t realize the volume of cool ideas that are based on it.
More, learning calculus in this challenge is also a statement about the benefits of theoretical versus practical knowledge.
Theory Actually Matters (Or Why DIY Learners Often Fail)
A lot of people have been criticizing my challenge for not doing enough programming. I’ll admit, that’s a weakness I need to work on, and I’m making adjustments to try to include more programming assignments for the classes where there are interesting projects.
However, part of the criticism, is weighed against learning theory in general. A common misconception is that the best way to learn is simply to just go out in the real world and do things, and only learn theory when you absolutely need it.
But this misses the purpose of learning the theory behind ideas. It’s not just to fulfill curiosity, or to execute some more practical task. Learning theory broadens the types of problems you can imagine possible solutions to.
You don’t need a computer science degree to learn how to program. I’ve programmed as a hobby for years, and I’m confident that I could probably make most simple programs if I put in enough time (although I’m far from a master).
But computer science isn’t programming in the same way biology isn’t just using a microscope. Learning the theory behind algorithms, machine learning, graphics, compilers and circuitry gives you the ability to think about and take on more interesting problems.
The power of theory is that it expands the breadth of problems you can solve, while practical knowledge improves your efficiency with one set of problems. Studying business didn’t teach me much about running my business, but it did give me a language to think about all sorts of businesses that I haven’t started yet.
That’s the main goal of this MIT Challenge. I want to show that the theory can accelerated and learned outside of school. But I also want to show that big ideas matter and sometimes the best way to be effective in the world is to first understand it.
The Setup to Learn Calculus in 5 Days
A lot of people are asking me how I avoid burnout when trying to complete a 120-hour course in 5 days. But the truth is, the schedule I keep isn’t too exhausting. It requires focus, certainly, and it also has quite a few hours of work, but I set it up in such a way to maximize the amount of time I have to relax so I don’t feel overwhelmed.
Here’s the schedule I used last week, for example:
- Monday 6am – 5pm (roughly 60 minutes worth of breaks) – Watch first half of lectures at ~2x speed.
- Tuesday 6am – 6pm – Finish lectures
- Wednesday 6am – 6pm – Do 4 practice exams, use Feynman Technique on all conceptual errors or processes I don’t fully understand.
- Thursday 6am-6pm – Repeat process, ensure at least 1-2 Q’s are covered from every topic and use Feynman + practice questions to master the ones I’m having trouble with.
- Friday 6am-11am – Final brush up, write the exam at 1pm and finish by 4pm.
Not everyone will be able to get through an entire course like calculus in 5 days, however this basic setup of waking up early and starting immediately, but having the evenings off is a great way to get more work done without feeling overwhelmed.
Each day I did approximately 10-11 hours of work, but because I had nights off, I could relax, watch movies, go to the gym or hang out with friends. When people talk about burnout, in my opinion, they are usually talking about missing those things, not the actual number of hours they are putting in.
The truth is, when learning a conceptual class like calculus, burnout is one of the worst things you can do for efficiency. Losing sleep or not organizing your time well enough to have some relaxation time can impair your ability to focus the next day. If you’re tired, you aren’t learning properly.
I did take 20 minute naps during the day, which I found helpful in giving a burst of energy which wanes after several hours of focus. But the timing and frequency of breaks is crucial, since it’s easy to waste hours on breaks and then have to work later in the evening.
I feel comfortable with this schedule going forward, although I’ll certainly have to modify it for classes without video lectures or with larger programming assignments.
Now onto multivariate calculus, wish me luck!