Найти тему
Funny programmer

Programming learning method: "outline"

This article is for those who have thought about or have just started to study programming. In it, I would like to share the way I have chosen to study programming, which is to outline the basic principles. The method has one essential drawback - substantial time spent. But it also has advantages.

Background

I usually met two main answers to the questions "how to study programming by myself":
1) Studying the theory by solving examples on the topic I have studied;
2. Try to implement some project while studying the chosen programming language.

The second method didn't attract me, that's why I, as many people probably, initially tried to "learn" from the first one.

To be more specific, I started to study PHP by reviewing translations of the lessons from Lynda.com. I was delighted. Kevin Scotland is very quick to get you up to speed. I was passionately repeating everything I saw, and the puzzle of "web programming art", albeit at a very primitive level, was easily formed in my head.

Next, for obvious reasons decided to plunge into MySQL. This time it was a good self-study (the book in electronic form). The principle the same: has read, has repeated seen itself (or has thought up the simple example). At the end of its study primitive receptions in console MySQL, I could write "with closed eyes".
I remember that long-awaited moment when I finally decided to organize a "baptism of fire" and check my skills PHP / MySQL, making the admin for database management, which made it possible to make elementary manipulations (создать\удалить base, fill, edit, etc.). And that's when I was shocked. I almost completely forgot about PHP. How is that so? Now all over again? On the second round of watching all the lectures on PHP? Well, let's say. And what happens when I do it? I will forget MySQL?

What good is the method of conspicuity

It was an obvious fact. Having performed one, five, or ten actions in programming, but then for a long time not going back to it because of learning other languages or going into the current one, a novice will probably not be able to remember it once and for all.

https://pixabay.com/ru/photos/%D0%BA%D0%BE%D0%B4-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80-%D0%BA%D0%BE%D0%B4%D0%B0-%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-1839406/
https://pixabay.com/ru/photos/%D0%BA%D0%BE%D0%B4-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80-%D0%BA%D0%BE%D0%B4%D0%B0-%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-1839406/

Then what is more profitable? Spend time taking notes as you study or looking for information every time you need something?

I have come to the following conclusion, which I think is most relevant to newcomers: it is better to write notes if you study some basic principles (e.g. from a self-study guide), which are chewed up in this very source. After all, if they are forgotten, they will need to remember the source, find the page (in the book), the time (in the video lesson) and read the material again.

I would also like to mention at once that this rule does not apply, for example, to the built-in functions, which are a huge number and which are much more reasonable to look for in the documentation to the language, where, as a rule, there is a description and examples. You can only write down the main ones that you will use regularly during the training.

Conspicuous is not just about copying

In this case, the abstract does not imply the principle "Ctrl+C -> Ctrl+V", but the following order of actions:
1. Read the material (paragraph, chapter, description of something);
2. If necessary, write down the essence very briefly, which you will be able to understand yourself later (it will leave you no choice but to understand the question);
3. Write down the code samples (if necessary).

Pros and cons

Using this method for some time, I can clearly say that a huge disadvantage is the need to structure the information into sections, as well as to formalize it. But at the same time, it is also a plus, because in the end it is very well remembered what information you have contributed to and where you have contributed it. And after reading one sentence written in your own words, the whole picture opens up immediately. There is no need to look for the place of the book or, God forbid, the video lesson, the question was touched upon.

In support of this, I can give a banal example when I needed the data on the restoration of the dump database MySQL with information about the cities at work (the position is not related to programming).

I remembered how watching lectures on MySQL by the company "Specialist", decided to finish this point because it seemed to be quite confusing. I spent my time outlining it. But if necessary, this task was solved in 30 seconds. Will the same amount of time be needed every time I go back to this task after a long time?

Conclusion

Nowadays many people try to learn to program. A small part of us manages to start working in this sphere, even fewer people become specialists. I am only trying at the moment. And I hope that my small developments will help other newcomers to improve the quality of training.