How to ACTUALLY learn from Coding Tutorials (Step-by-Step Guide) || part one.
Tags: learning, tutorial, beginners, coding
Published: 2024-07-11 10:37:00

(If you prefer watching video: https://www.youtube.com/watch?v=8xCrkuGrCT8&t=57s)

Coding tutorials are invaluable resources for anyone aiming to learn to code or deepen their understanding of new and important programming concepts. Whether you're a beginner or an experienced developer, these tutorials can provide step-by-step guidance and practical insights to enhance your skills.
In this article, I'll discuss strategies to maximize the benefits of any coding tutorial you watch. By breaking down the learning process into three distinct phases—before, during, and after watching a tutorial—you can optimize your learning experience and make the most of the content.

Each phase plays a crucial role in reinforcing your knowledge and ensuring you gain practical, applicable skills. So, let's dive in and explore how to effectively engage with coding tutorials to boost your programming prowess.

Let's start with preparation. It's almost never a good plan to jump right into a tutorial without any groundwork.
Most of us, what we do is we jump right into tutorial and start to follow along without any second thought. However, doing some groundwork preparations can make a big difference. 

Additionally, Before starting to watch a tutorial, check if the source code is provided. If not, you might want to skip that tutorial. It's not that you can't learn from it, but it would be much harder since you won't be able to cross-check if you encounter problems while building a project.

---

**But how do you prepare for a coding tutorial? Here are some steps you can take:**

1. **Scan Through the Source Code and tutorial video:** Before you start the tutorial, take some time to scan through the provided source code. Get a general idea of how the files are organized and how the components or sections of the code are connected. This will give you a broad overview of the project structure and help you follow along more easily during the tutorial. You can also scan through the tutorial video by jumping through time frames or speeding up the video. This quick overview will help you understand the flow and main points of the tutorial. It's okay if you run into trouble or don't quite understand everything right away. Learning something new on your own can be challenging, but the important part is to get some experience and lay a foundation. You're planting seeds of knowledge, and the tutorial will help water those seeds, allowing them to grow.
2. **Identify Unfamiliar Code:** As you review the source code, identify any lines or blocks of code that you don’t understand. Highlight these sections and make a note of them. This will help you focus your attention on areas where you need the most clarification. Along that way, make probable assumptions and draw out what possible final product might look like. It’s okay if you get it wrong, part of a learning process is to get it wrong first then correcting it or learning from it.
3. **Make a List of Questions and Identify Gaps:** Based on your initial scan, compile a list of questions about the code and concepts you don’t fully grasp or areas where you're confused. These questions will be invaluable as you watch the tutorial, allowing you to seek out specific answers and explanations as they arise.

**Research and Prepare:**

Let’s say you find out that there is a concept of "asynchronous programming in JavaScript," used in tutorial or you find keywords like async, await, promise and try-catch in source code. And your understanding of it is a bit rusty. What you can do is, to prepare effectively, start by researching the basic concepts involved. For instance, look up explanations and examples of asynchronous programming, focusing on key techniques like callbacks, promises, and async/await. There are numerous online resources, including articles and videos, that can help you understand these concepts beforehand.

Work through a few example problems where these techniques are applied. You might try writing basic asynchronous functions yourself, such as fetching data from an API and handling it with promises. This hands-on practice will give you a foundational understanding, making the tutorial much easier to follow and comprehend.

This process can be applied for any complex topic and not just in programming.

By taking these preparatory steps, you’ll be better equipped to understand and retain the information presented in the tutorial. Preparation not only helps you follow along more effectively but also enhances your overall learning experience.

**Reduce Cognitive Load:** One of the main goals of preparation is to reduce cognitive load—the amount of mental effort required to process new information. By familiarizing yourself with basic concepts beforehand, you free up mental resources to understand more complex ideas during the tutorial.

---

During this process, you should also ask questions like "Is this tutorial right for my current knowledge and skill level?" and "Is it a next logical step for my learning?"

It's important to ensure that the tutorial matches your current abilities and learning goals. Sometimes, you might find that the tutorial is either too challenging or too basic for you. If the tutorial is too advanced, you might struggle to keep up and miss out on key concepts. On the other hand, if it covers material you already know, you won’t gain much from it, making it a less efficient use of your time.

**Assess the Tutorial's Difficulty:**

- **Too Challenging:** If the tutorial seems too difficult, consider what are you missing. Look for beginner or intermediate-level tutorials that build up to the advanced concepts you're aiming to learn.
- **Too Basic:** If the tutorial covers concepts you already understand, it might be better to skip it and find more advanced resources. Continuously challenging yourself with new and complex material ensures steady progress in your learning journey.

**Optimize Your Learning Path:**

- **Select the Right Tutorial:** Choosing the appropriate tutorial for your current skill level is crucial. A well-suited tutorial should stretch your abilities without overwhelming you. It should introduce new concepts that build on your existing knowledge. Yeah, it hard to find these tutorial, so don’t be strict with this rule. Don’t waste too much time in hunting video tutorials.
- **Adapt as Needed:** Be flexible in your learning approach. If you start a tutorial and realize it’s not the right fit, don’t hesitate to switch to another resource. Your time is valuable, and focusing on the most beneficial content is key to effective learning.

By carefully selecting tutorials that align with your skill level and learning goals, you maximize the efficiency and effectiveness of your study sessions. This strategic approach helps ensure that each tutorial you follow provides you with valuable knowledge and skill development.

So back to my point, during the tutorial; you might be bombarded with new words, new concepts, new ways of doing things and new techniques. As that happens, our working memory has to deal with too much stuff at once. And during that, what happens is, stuff just starts to Fall Away. We end up not really grasping much of anything. That’s why, certain amount of work before watching tutorial is valuable.

---

Another important goal is to form a cohesive understanding of the material by integrating information that you acquire. So you start by picking up a few key concepts before the tutorial. As you follow along, you'll build on what you’ve already learned, connecting new ideas with what you know. Even during the review, you will pick up a few more things which will extend what you learned from the tutorial further.

If you view learning as a developmental process rather than just a transmission of information, it becomes clear that deep understanding requires engaging with the material multiple times in various ways to get a really deep understanding of the material.

This integrated understanding helps you retain knowledge more effectively and apply it more confidently in real-world situations.
Happy coding !