How to understand coding concepts and make them stick with you

How to understand coding concepts and make them stick with you


6 min read

Hello guys! Coding concepts can be a pain to deal with in the start, most beginners like myself usually end up in this thing called "tutorial hell" where we feel like we're learning a lot, but in reality, nothing is sticking and we're still very confused on how and when to implement certain functions.. In today's blogpost I'm going to be going over what worked for me and how I overcame tutorial hell.

Taking notes (in your own words)

Note-taking is a very important skill if you want to better understand concepts that stick with you, it allows you to organize your thoughts, document your code, and keep track of important information such as bugs or potential improvements. Additionally, taking notes can help you better understand and remember the concepts you are learning, which can make it easier to implement them in your code. When I say 'note-taking' I don't mean mindlessly copying what you're learning while typing it down, you should try to intellectually challenge yourself while taking notes and rephrase what you've learned in your own words so you understand the material better. There are various tools you can use to take notes. Personally, what I decided to stick to is Notion, but anything works if it's organized properly. I just find that Notion has a very simple UI which makes it easy for me to organize content for better workflow. Notion has been a very helpful tool for me for learning JavaScript, these are all the concepts I took note of and phrased in my own words.

After you figure out how to take notes so you soak in the information, you should now put your knowledge to use by taking a project-based approach to learning code.

Project Based Learning

A project-based approach to learning coding implies learning by doing and creating projects or applications that is based in the programming language you intend to learn. This approach emphasizes hands-on experience and practical application of the concepts and tools being taught, rather than just learning the theory or syntax of a programming language. It allows you to practice problem-solving, critical thinking, and collaboration skills while creating something that you can be proud of and showcase to other people & even on your portfolio. Taking a project-based approach to learning code is essential for programming concepts to start clicking and for you to start understanding how to create what you want to create from scratch. In the start it may feel uncomfortable to try and put something together, so what I would suggest is to start following a few tutorials on YouTube to get a grasp of how to approach working on a project & start building! Follow a tutorial on how to work on a specific project and start changing up the code to modify different properties of the project, turn the initial project into something of your own. When you start doing this consistently your brain will naturally start picking up on various programming concepts and you will be able to start creating. I highly suggest getting used to git version control as well while you start working on projects for these reasons:

  1. Git keeps track of all changes made to your code, making it easy to revert to previous versions or compare changes over time.

  2. Backup: Git provides a secure backup of your code, allowing you to restore it in case of a disaster

  3. Open-source: Git is open-source, meaning it is free to use and can be easily integrated with other tools and services

  4. Open-source: Git is open-source, meaning it is free to use and can be easily integrated with other tools and services.

Git is not a requirement to start learning code & understanding concepts, but chances are you're going to have to understand it at some point in your technical journey so you might as well try getting used to it now.

Learning by Recall

Active recall is essentially saying & 'recalling' everything that was learned after the concept is learned, it is a technique that involves actively retrieving information from memory, rather than passively reviewing it. This can help with understanding code by forcing you to engage with the material more deeply and to think about how the different pieces of code fit together. By actively recalling the code, you may be more likely to identify areas where you are struggling and to seek out additional resources or explanations to help fill in any gaps in your knowledge. Additionally, active recall can help to solidify the information in your memory, making it easier to recall and use in the future. A great application for practicing active recall is ANKI.

Anki is a flashcard program that uses spaced repetition to help with active recall. The software presents flashcards to users at intervals that are determined by their performance on previous reviews. As users correctly answer questions on the flashcards, the intervals between reviews are increased, while incorrect answers result in shorter intervals. This method is based on the spacing effect, which suggests that people are more likely to remember information if they are exposed to it multiple times over an extended period of time. By using Anki's spaced repetition algorithm, users can actively recall information more effectively. This graph shows a visual of comparison of information learned with different studying techniques. As we can see, Retrieval Practice (Active recall) is significantly more efficient than the other techniques. Learning by Recall isn't only beneficial for programming, it is quite literally one of the best ways to start learning anything. If you implement this technique when you start learning to code, you will soak up information and concepts like a sponge!

Building in public

Out of all the methods of learning I specified so far, I would have to say building in public was undoubtedly the best thing I could have done for enhancing my tech knowledge and coding skills.

You may be wondering.. what is 'building in public'? Building in public is essentially the practice of sharing the process of creating something, such as a product, service, or startup, with an audience as it is being developed. When it comes to your programming progress this often includes sharing progress updates, behind-the-scenes information, and soliciting feedback from the audience. The goal of building in public is to create a community and transparency around the development process, as well as to gain early feedback on what you can do to improve along your developer journey.

You will also learn a lot the more you indulge in the content on Twitter. The connections you can make & the people you can network with will help you get a better understanding of the tech space which will help with having a clearer vision so you know what you can work towards. I honestly don't see a reason NOT to try and build in public & network with some developers for your personal growth. Twitter is not the only platform you can build on, but Twitter has a large developer community, which means that developers can connect and collaborate with other like-minded individuals. Twitter also allows developers to use hashtags and join conversations around specific topics, which can help them reach a wider audience and gain visibility for their projects.

In summary, these are the methods that have worked best for me when it comes to getting a better understanding of programming & even tech in general. Hope you learned something!

Hope you guys enjoyed this blogpost. Follow me on twitter @velpcode if you are interested in developing, fitness & overall improvement I'm always down to connect!

Did you find this article valuable?

Support Aman Velp by becoming a sponsor. Any amount is appreciated!