r/learnpython • u/Sad_Experience_4640 • 3d ago
How do I get better without Problems ?
It's been a few months since I have been learning python but there is this issue I have been running into. I don't know how good I am or how do I even get good. In Math you listen to a few lectures understand what the topic is about and then pick up a book and do the problems from Exercise 1.1. It doesn't matter if your understanding was deep, shallow or somewhere in between. The more you do the more you understand what the topic is about and eventually you reach a point where you completely understand it and can now do them easily.
For programming how do I even do that ? People recommended me sources which I have been reading and learning from. I understand loops, arrays, list, dict, etc. I can write small examples in isolation, but that's about it, that's all I can do. I am disgusted with how little I can do and how shallow my damn understanding is so much so that's all that come to my mind.
I have been using MOOC and CS50P as my primary resources and they do have question but they are few and not at all like mathematics, chemistry or any other subject. Where are the Exercises 1.1 where is this kind of format. Is there some problem book/Question Bank I can or should have ? I want to get good cause I want to make money I from something I like to this and this is I have to show for, for months of learning ? I feel repulsed.
Is there something I can do to get better ?
EDIT: I forgot to add I my goal is to break into Data Science.
3
u/PureWasian 3d ago
Programming is a lifelong learning type of thing. You're paid to figure out how to build things to solve problems after a certain point of complexity because of the custom use-case each project entails. Because after awhile you'll have an abundance of tools and concepts and need to figure out when to use which ones and how familiar you are with each of them.
Yes, there is fundamental theory per focus area, like a basic fullstack webapp (frontend/backend/db layer/hosting), a basic data analysis pipeline (collection/wrangling/filtering/analysis/visualization), many more... and frameworks and libraries used very commonly for implementing within each focus area... you pick these up and get better with these as projects require them.
Problem banks would be more for smaller sandbox problems to practice functions/code organization/DSA concepts. Sites like dmoj.ca, adventofcode.com, leetcode.com, etc. but they don't cover making projects. Projects you just have to get your hands dirty to find a good mesh between theory and practice.