Get the best programming course avaliable.

How to learn, The Science Behind Attaining Knowledge

The end goal of learning is being able to retrieve knowledge to the forefront of your mind without external assistance.

The steps to learning should be quite simple.

  1. Aquire knowledge
  2. Reinforce knowledge
    However, there is a lot of confusion regarding these steps. The science of learning is never broken down and taught in schools, so that is what I will do here. This article will discuss the missconseptions we have regarding this seemingly simple 2 step process, using scientific research as the basis.

The difference between gathering and accessing information

The brain has a remarkable capability to absorb and retain information. When trying to learn new knowledge, the problem is rarely your ability to absorb the knowledge. More frequently, the ability to retrieve knowledge is what is hindering your learning.

If you are able to name every capital in Europe but need a helping first letter before remembering them, you cannot say that you have learned every capital in Europe. However, it does mean that the knowledge is somewhere in your brain.

Your guess for the capital of Sweeden would not be "tochholm" if you weren't given the 'S' as a helping hand.

When we struggle to learn something, the problem is rarely putting information into our brain, but our ability to retrieve that information. Research has shown that the best way to make a piece of information stick is to repetitively retrieve the information. (!?!) The bridge between the knowledge you seek to learn and your conscious mind grows stronger every time you use it.

How does this apply to programming?

In this sense, programming is the perfect skill to learn. You need to constantly access knowledge in order to apply concepts you have learned while programming. The act of repetitively accessing a piece of knowledge is a natural part of programming.

This is why the mantra of "learn to code - code to learn" is such an effective idea when following a programming course like EntryPoint.

How you should absorb knowledge

The method of absorbing knowledge is not as important as the reflection you do after absorbing it. The best way to absorb knowledge is by seeking knowledge that you can apply instantly. Otherwise reinforcing the knowledge will be much harder.

If you are following a course that frequently gives you knowledge that isn't immediately relevant and that you cannot apply, odds are that the course isn't very good.

The significance of how you absorb information is vastly overstated. Some people claim to be a visual learner, while some claim to learn best by writing or hearing. Studies have shown that the difference between the way people learn the best is inconsistent with the way they think they learn the best. (!?!?)

It is important that the knowledge is presented in a structured and unconfusing way that you can understand, but beyond that, the method of presentation is irrelevant if you are present and paying attention.

How You Should Retrieve Knowledge

There are many ways to test yourself, and the main importance is that you're retrieving knowledge. Testing yourself to try to remember something, reflecting upon something you just learned, or applying it instantly. It's important that you do this retrieval frequently, as that is how you're going to build that bridge between your mind and the knowledge. In the case of a course, you can do these retrieval exercises just after learning a new concept, between lessons, after sessions, or at planned or random times throughout the day.

How does this apply to programming?

The nature of programming is in our favor. During Entrypoint as you learn new concepts, a whole new set of ways to use code will unlock, and you can get into applying your knowledge instantly. If you can't think of a specific way to apply the knowledge, EntryPoint has a huge library of challenges designed to be fun and intriguing to solve. When you run into a problem, and scour the internet for a solution, you will apply the solution to your own code, and every time you work with that code, you will be retrieving the knowledge of the solution.

How to Challenge Yourself

There have been studies that show that an 85% success rate is a good rate when trying to improve. (!?!) You should be practicing at an adequate difficulty to fail once in a while. However, it is important that you don't always fail at everything when setting goals for yourself. This will only lead to demotivation or being unable to find a starting point to improve from.

Having the right mindset to learn

It is important to note that you won't improve unless you make mistakes. Getting stuck and spending time to figure out a problem shouldn't be taken as a sign that you're not good enough, or that you lack talent. Getting stuck and having to work to get further is a good indicator that you are improving.

How does this apply to programming?

Nobody learns to walk without falling, and nobody gets great at programming without spending hours browsing the internet trying to fix their code. Some people have an easier time than others in the start, but sooner or later you're going to run into unexpected errors.

If you want to know how to optimize learning specifically for EntryPoint, I would highly recommend you read [this article].