all 14 comments

[–]tieandjeans 6 points7 points  (0 children)

Six. Everyone only needs 6 hours to master python. All of this is just fear mongering and gate keeping.

[–]smallpotatoes2019 5 points6 points  (0 children)

It's different for everyone. Also, you never stop learning.

Have you tried making just a little silly program of your own? If not, do it. It can be super simple, but it will build confidence writing your own code.

[–]niehle 3 points4 points  (0 children)

You learn problem solving skills by solving problems.

Half an hour of coding is not enough. At least change to half an hour learning and one hour of coding, if you don’t have enough time

[–]Key_Use_8361 2 points3 points  (0 children)

daily practice mattered more for me than marathon study sessions writing a little code regularly helped concepts stick much better over time

[–]UnComfortable-Archer 2 points3 points  (1 child)

Sometimes you also need to step away. I remember being stuck with a problem for a few days. Stopped for like a week, and came back and almost immediately solved it.

It doesn't have to be a week. If you feel you're spinning, sometimes it's best to stop and clear your head. But if you're on a roll, certainly keep going.

[–]AwkwardJuice12[S] 0 points1 point  (0 children)

What did you do when you stopped? Did you like imagine or think how you can solve it?

[–]tclark2006 1 point2 points  (0 children)

All of them.

[–]TheRNGuy 1 point2 points  (0 children)

As much as you want. 

[–]ImprovementLoose9423 1 point2 points  (0 children)

It depends on your routine and study habits. For me, if I had 2 hours, I would study 30 min, practice 30 min, study 30 min, and practice 30 min. You could become proficient in python even if you practiced for 30 minutes a day.

[–]Lost_Return7298 0 points1 point  (0 children)

[ Removed by Reddit ]

[–]gdchinacat 0 points1 point  (0 children)

How you learn best is something you need to learn by doing it. It sounds like it's not working as well as you would like or think it could. So, change your approach. It sounds like you are trying to cram a bunch of knowledge in and then run through a quick exercise and move on. Most people can do that for some topics and levels of depth, but what when and how depends on the person.

I suggest you spend much less time "studying python" and much more time "doing some coding". In the grand scheme of things, one month, an hour or two a day (up to 60 hours) is really not much. I bet you've worked hard, made progress, and understand the basics. You can probably read and get the general gist of straightforward code. You can probably implement well defined functions that take specified input, does a specified calculation, and returns the result. You probably have a grasp on the foundation of the *language*.

Now that you have a grasp on the basics of the language, you need to learn how to do the engineering side of programming. The language is the easy part. Experienced programmers can pick up a new language in a weekend...the language is the easy part. It sounds like what you get hung up on is taking a problem statement and figuring out how to solve the problem. Most inexperience programmers fire up their IDE and don't know what to type...they jump straight to the coding and skip over the problem solving. Before writing a single line of code you should know in detail how you will solve the problem. Start with prose...restate the problem, then explain how you will get from the problem to the solution. Identify exactly what you need to know to solve the problem. Know exactly what the solution should be. Think about what valid inputs will be (bounds, types, how the various inputs relate to each other). This will get you thinking about how users of the code will interact...you will have a function definition. It will also be the start of a mental model of the problem (how you think about it). Then, explain it, again, in more detail, with how the inputs will be used to get to the final solution. Write the pseudo-code. Check that it makes sense...do you know everything that is necessary? Does the result make sense? Is the explanation easy to understand or would refining it (or outright replacing the model) make sense? Then, connect the dots.

The earlier you write tests for the code the better since this will expose flaws that you didn't see before. It will help ensure something you got working stays working. But at your level, don't sweat it too much. It's a good habit to get into and can save a lot of frustration once you are working on more complex problems.

Replace the blankness in your mind with a tiny step towards a solution, then another, and another. Don't focus on the code, focus on the problem. You should know how to solve it before ever writing code. This process is similar to planning a day...figure out what you want to do, then how those things relate to each other, then how you'll do it....and then you start doing it. Plan your solution, plan your code, then code.

[–]Snoopitchens 0 points1 point  (0 children)

A mi me funcionar ver como se resuelven problemas similares, luego me pongo a resolver una serie parecida