Have you ever wondered why some people need only a few days to learn programming or some principles of programming, while others need 2-3 few months? Yes, we can say that it is simply not given to someone, but perhaps there is simply some scientific explanation for this. Alexey Korepanov will talk about this in his material.
What situations motivate you to learn new things?
It may be the desire to become a programmer and earn a lot of money. You may already be a programmer, but want to learn something new. It can be from boredom and from the desire to prove something to someone. Later, Alexey will tell you what can motivate a person most of all and help him achieve great success.
Let’s use the example of a gadget to consider a situation when you are learning something new. For example, you have a new camera and you need to shoot a video. How will you do it? Surely you will try to find the power button, because to shoot a video, you need to press the button and point it at the subject. If something does not suit us, we will probably open the instructions to look, for example, at the features of the white balance setting in this camera model.
At the end we will reshoot the video. That is, this will happen after we read the instructions. This means that if you count the steps that you have gone through, you get 4 stages:
- Turning a camera in your hands. Trying to make a video.
- Seeing what you got.
- Reading the instructions.
- Trying to shoot the video again.
What does the psychology of learning say about this?
David Allen Kolb is an American specialist and theorist in the field of learning psychology. He is now 80 years old, but back in the 70s he developed his famous theory of learning through experience. This theory, Kolb’s model, consists of two parts:
- The learning process is cyclic and consists of 4 phases.
- There are 4 different learning styles, depending on which phase you need more attention.
The cycle of Kolb – Diagramm
When we analyzed the gadget example, we identified 4 steps. These are the Kolb steps.
The first step – Concrete Experience
The first stage is getting a new experience. What you know about this world conflicts with what you observe. Kolb calls this step a concrete experience. For example, with a video camera, you don’t know how it works. With programming, this can also happen, for example, you need to do the numbers from 1 to 10, but you do not know how to use loops. Perhaps in this step you will try to do something that may work or may not. That is, you are actively experimenting.
The second step – Reflective Observation
Kolb’s second step is to think about what has happened. Kolb called this stage mental observation. When you start experimenting, you have some time to think about what has happened – what you clicked on, what happened, what the program produced.
The third step – Abstract Conceptualization
After that, it will be thinking and creating a concept. Kolb called this an abstract conceptualization – it could be reading a camera manual or looking into a programming guide. This will help you sort everything out. You can also discuss the issue with your colleagues or contact specialists.
The fourth step – Active Experiments
It’s called active experimentation. At this stage, you return to the task, but do it correctly, as you use the knowledge that you received in the process of studying.
The cycle can be endless, you can go through it again and again. This way you get new ideas and learn new skills. You can also start doing it at any stage.
Examples from Alexey – Mobile Applications Development
A few months ago, Alexey recorded a video about how he mastered the development of mobile applications from Microsoft in 4 hours. Alexey acted according to the Kolb cycle. First there was a task, a to-do list. At first he tried to create a list with items, then he began to analyze what to do next. Further on the documentation site he studied the issue and found the necessary information. Then, together with the experience, he returned to the task and tried to improve the list. This is the last stage – active experimentation.
For example, a programmer needs to fix a bug. If he is at least slightly familiar with the code, he imagines how the program should work. So he understands if there is a bug and where exactly it can be. He observes and tries to understand what is not working. Then he tries to figure out how to fix the bug. If it doesn’t work out, he googles and learns something new for himself. If an idea comes up, he enters information into the code and sees what happens. This is active experimentation. If something did not work out, we return again to the first phase.
All this can be in other duties of a programmer:
- studying git;
- study of IDE;
- learning new concepts in programming.
Let’s try to compare the classical school system and the Kolb model. In the classical form, the learning model goes from a teacher to a student. There is practice, but compared to the Kolb cycle, two steps are missing – concrete experience and reflective observation. There are often problems in school on how to apply the form in practice. It is the absence of a concrete experience step.
How knowledge of the Kolb model can help in programming
To start learning, you need a specific problem. We begin to think about the problem, it motivates us to learn. It can be a task to write an application, entertainment from boredom, an interview for a programmer. At the interview, the classic Kolb cycle takes place – going through the interview, analyzing how you answered, trying to find out the answers to questions that were not answered, going through the interview again. Therefore, Aleksey recommends having an interview as early as possible.
It is a poor motivation to become a programmer and earn a lot of money. There is no specific task here, so you don’t know where to start. There are also no criteria. It takes time to go through all the phases. Give yourself that time and your learning begins with not understanding how to do the task.
Theory without practice does not work. You have to do your own projects to learn. But you also need to read the documentation and watch tutorial videos. One without the other will not work. If you are looking for courses to learn, they must be challenging. They should force you to learn something new, to experiment. This makes sense when you have already tried to solve some practical problems.
The Final Word – Practice First
According to the Kolb method, there must be practice first. There is a problem to be solved. It is the most important thing. Now you can learn new technologies more effectively. Try to find more motivation and everything will work out.
You may also be interested to read my articles:
- 12 Important Things About Programming – Tips for Beginners
- How to Become a Python Programmer at the Age of 44? Ruslan’s Story
- How to Become a Programmer in your 30-40s?
Disclaimer. This article was prepared using Alexey Korepanov video, link https://www.youtube.com/watch?v=bJakF93Tpjs