Computer Science @ New York University | Courant Institute of Mathematical Sciences
I’m sure everyone at some point has attempted to learn a new programming language or framework using a YouTube video called “Learn *programming language* In Just 5 Hours!” I know I absolutely have. I proceed to follow the video and code along, making sure I understand everything. Yet, by the end of the video, I’ve retained absolutely nothing.
After trying many tutorials and taking online courses, here are the top mistakes I made while watching these videos.
The first mistake I made was assuming that I could learn a programming language in several hours. Even if the video is well structured and information-dense, your brain simply can’t learn that quickly. Well, at least not all the details.
You can get a good understanding of a language or framework in several hours, but you might have to spend more time than the length of the tutorial.
The second mistake I made, and the most fatal one, is that I followed the video too closely.
Why You Shouldn’t Follow The Video
Anyone (who isn’t a natural genius) and has had to memorize something knows that reading won’t do the trick. Active recall, or remembering the information without being able to see the answer, is the key to remembering. Likewise, having to recall concepts in programming is the key to remembering them.
It is extremely easy to play a 5-hour long tutorial on Python at 2x speed and simply copy the code being written by the instructor. Yes, you’ll have the same generic to-do app or weather app that they do, but you won’t have the concepts drilled into your brain.
Instead of coding alongside the video line-by-line, my rule of thumb is to watch the video for 10 minutes at a time, then pause it and try to come up with the code that the instructor wrote without looking at it. In doing this, your brain is making an effort to come up with this new information, making it last much longer.
I have found that simply coding along with the video usually results in a lack of understanding. If I can come up with 10 minutes of code on my own, I understand what is happening and why each line is necessary.
How To Make Sure The Information Stays
I recently read a wonderful article about the 3-step process of learning code: Learn, Try, Apply. After you learn and try (i.e. listening to the video then pausing it and attempting the same code on your own), you have to apply the information. At this point, you may be thinking didn’t I already apply the information by pausing the video and writing the same code? No. Applying means being creative and going beyond tutorials.
There are two ways you can apply. Either you change the existing code you have and make it original, or you can start from scratch and make something yourself. I prefer the latter, simply because I run into more issues when I start from scratch, and solving them helps me learn more effectively.
From personal experience, this is where the true fun lies. However, don’t be too ambitious to start. I’m sure we’ve all done it: we’re eager to begin a new side project that’s going to impact so many people…except the thrill dies out as soon as its time to write some code and spend hours on StackOverflow.
Even if you just make a simple app that you finish in one day, that still counts. Being able to create your own app from nothing will solidify the information you just learned.
Likewise, after each section in whichever crash course you’re watching, take time to practice, and master the basics before moving on. Trust me, it will pay off and you won’t feel lost 3 hours into the tutorial.
This technique is known as chunking, which is covered in Daniel Coyle’s bestselling book The Talent Code. In his book, he analyzes the non-negotiable similarities between exceptionally talented people in fields varying from piano to Futsal (a sport similar to soccer).
There is a wonderful summary here if you’re interested.
That crash course on the new and hottest framework you found on YouTube probably has really good information. However, you won’t absorb much of it unless you take the time to write the code in the tutorial yourself. Then once you have mastered the tutorial, try to make something on your own. It doesn’t have to be the next Facebook.
As long as it utilizes the information in the video, you will absorb the materials taught.