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.
- Aquire knowledge
- 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.
Does this scenario sound familiar to you? You're being quized on some topic. You can feel the answer being close to accessible, but you can't quite get it. You're told the first letter of the word and suddenly it clicks.
The information is clearly somewhere in your brain, but you cannot say that you have learned it yet. It's not like you knew the entire answer except for the first letter.
When we struggle to learn something, the problem is rarely putting information into our brain, but our ability to retrieve that information.
The bridge between your knowledge 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. Repetitively accessing pieces of knowledge happens naturally as you code. This is why "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. The only important factor, is that you can understand what is being presented. This means that the medium it's presented by doesn't matter. Studies widely show that there is no such thing as a learning style. ref
It is important that the knowledge is presented in a structured and understandable way. Beyond that, the main factor is the students presence and attention.
How You Should Retrieve Knowledge
There are many ways 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
Studies suggest that an 85% success rate is a good rate when trying to improve. ref 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
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 where you need to be to improve.
How does this apply to programming?
Nobody learns to walk without falling, and nobody gets good 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.