K
K
koyote922022-04-07 02:10:05
IT education
koyote92, 2022-04-07 02:10:05

Is it right to "bite" yourself for peeping someone else's code in the process of self-learning?

Good day to all.

On March 15, he began to fulfill his adolescent dream - to learn programming. More specifically, I'm learning Python. Every day, seven days a week, I sit and read / code / take notes.
Started with a video course. I realized that it was not mine, I bought a book. I liked it very much, I do every task, even if it seems easy, just fill my hand. I got to the topic "Classes", went through it all.
And then at the very end of the topic I came across a problem that I could not solve myself. Looked at github. I understood how it works right away, I began to reproach myself for not having figured it out myself. I closed the "cheat sheet", tried to reproduce - to hell with it, I forgot an important point. I had to look again - "well, here it is, here it was necessary to do this, well, it's easy."

There is no mentor. There is no money for studying at courses / at the university. Familiar IT people too. Yes, even if they were, did not bother.

There is a suspicion that three weeks of non-stop training at night was a bit exhausting. Moreover, I am not a techie by education, although there have never been any problems with the natural sciences.
On the other hand, an insane desire to learn / learn something new in the field wakes up every day, and I consider “jumping” tasks as “I didn’t learn the topic”.

In general, the questions are:
1) Did I do it right / wrong by looking into the solution?
2) Is it worth reducing the intensity of training at all?

Answer the question

In order to leave comments, you need to log in

4 answer(s)
D
dollar, 2022-04-07
@dollar

If you did it yourself, you can do it yourself again and after many years. This has an effect not only on this one, but also on similar tasks. So the learning benefits are enormous. The key criterion is self. I think you feel it too.
If you spied on the solution, and even if you understood it, then you can hardly repeat it after a while, and even more so for another task. There is efficiency for training, but it is about 10 times less than in the previous example.
Therefore, it is better to peep in the case when you have spent enough time on your own solution. Not 5 minutes, but at least 2 hours of reflection. Then it already makes sense not to skid. The effect for learning is good, almost as if by myself. The more torment, the better the memory effect and the higher the pleasure at the end.
Definitely worth looking at solutions that are based on reference knowledge that you do not yet own. Nobody canceled the element of cramming.
You can also peep, for example, 10% of the solution, and guess the rest on your own - this is also good. You yourself (subjectively) determine for yourself the share of the peeped, how significant it is. The key idea is about 90% of the solution. If there are several subtle moments, then their share will be approximately the same.
Thus, it is worth reproaching yourself only if little time was spent on an independent solution of the problem and if conscience does not allow you to call the solution your own (considering the contribution).

1
12rbah, 2022-04-07
@12rbah

koyote92 , generally depends on the task, but in general it is important to be able to deal with other people's code, in reality, not many things are written from scratch, most programs are based on ready-made code.

I understood how it works right away, I began to reproach myself for not having figured it out myself.
you shouldn’t do this at all, this is a common situation when you don’t know how to solve a problem and you find a way to solve it on the network, the main thing is to figure out how it works and not just copy-paste.
1) Did I do it right/wrong by looking into the solution?

In general, yes, it is correct.
2) Is it worth reducing the intensity of training at all?
Depends on the goal, if you just want to be able to automate some processes and write small programs, then you definitely shouldn’t strain yourself a lot, if you want to find a job, then you should take a weekend, but the pace of learning should remain quite high, in general 2-3 hours on a typical day and 4-5 on weekends, if you find a good roadmap, and in the last 3 months you start to additionally study how to pass interviews and go to them, then you will be able to find a job with a high probability.

G
Griboks, 2022-04-07
@Griboks

If you often look at others, you can lose the ability to think and become a typical / template programmer. But there is nothing shameful to look at other people's approaches to solving problems, preferably, of course, only after the invention of your bicycle.
It's very easy to check how heavily "scripted" you are. If, when a new problem arises, you catch yourself thinking: “How is it customary to solve this?”, then everything is bad. You need to think "how would I do", then "how my approach differs from others", and then "what are the pros & cons".

S
Saboteur, 2022-04-07
@saboteur_kiev

And then at the very end of the topic I came across a problem that I could not solve myself. Looked at github. I understood how it works right away, I began to reproach myself for not having figured it out myself.

Most importantly, I tried to solve it myself.
The second important thing - peeping, you understand immediately. That is, after trying different solutions, you got the experience that it doesn’t work like that, it doesn’t work that way. And when I saw a working solution, I immediately understood how it works.
The bad moment is that after a while I could not reproduce. But nevertheless you know where to look to do. And you know that this solution is not just working, but why (did you understand how it works?)
Peeping someone else's solution is right and good. But it is extremely important to look for a solution yourself, so that in the end you will not only use a working solution, but also understand why it works, or why it is the best.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question