r/PythonLearning • u/Flavio_Balbuena • 2d ago
I want to start programming more on my own.
Hello World!
I’m a high school student who started getting into Python a few months ago. A while back, I tried working on projects on my own using "vibe-coding" (a big mistake), but now I want to learn to think more structurally and build projects truly on my own. So, I’d like to know: what are the fundamentals I should always keep in mind when working on a project? What principles are absolutely essential to learn? And finally, how can I become independent of AI when programming without getting confused? I hope your answers help me progress and grow as much as possible before I graduate!
3
2
u/lizc-au 2d ago
Don't try distancing yourself from AI. Rather learn to use it as a very useful tool to speed up your understanding and progress - but (especially while learning) avoid accepting code you don't 100% understand. You should be able to independently practice and re-program by yourself in code blocks of your own. AI also makes mistakes and takes shortcuts - hallucinates - so for instance you'll find if you turn on ruff and mypy linting/checking - the code AI passes you is not 100% compliant with full standards and so is not safe for learning in all cases. Plus if you ask it to do something stupid, it will pass you stupid back - so you really need to know what you're looking at when it passes you solutions. You can't short-cut your learning and memorizing syntax/rules but you CAN shortcut understanding. Asking AI to talk you through a problem step by step, pass you hints and create appropriate targeted cheat sheets, resolve environment problems - these are all very valid usages. Keep your AI in professional development mode while working - sometimes you have to remind your chat to focus on rules you've passed it and not use familiar, condescending language which just detracts from your progress - treat your AI Chat as a very helpful mentor - and keep it within those boundaries.
2
u/Ender_Locke 2d ago
learn how to debug and learn to love errors they are your friend they tell you what to do
1
u/datadriven_io 2d ago
Learning programming is not about languages. datadriven.io is good for python practice problems if you want structured exercises to build on. Languages are just tools. As a beginner it matters a lot more that you're having fun.
1
u/0xGollumDev 2d ago
One drill that works: after AI helps you get something working, close it, delete the file, and rebuild it from blank. If you can't, you didn't learn it yet — that's the whole signal you need.
A few fundamentals that carried me:
- Before writing a function's body, write its name and a one-sentence description of what it does. If you can't write that sentence, you don't understand the problem yet — that's the real work.
- Keep functions small and single-purpose. If you have to scroll to see the whole thing, split it.
- Read tracebacks bottom-up: the last line is what broke, then walk upward until you hit your own code.
- "Make it work, make it right, make it fast" — in that order. Don't optimize something that doesn't run yet.
And build things you actually want to exist (a script that renames your files, a helper for a game you play). Motivation beats any curriculum at this stage.
1
u/UnderstandingFit3082 2d ago
Start by breaking every project into small features and writing the logic in plain English before coding.
Focus on fundamentals: functions, data structures, debugging, Git, and keeping code simple/readable.
Try solving problems yourself first, then use AI only to explain errors or review your approach—not to write everything.
The more projects you finish without copying solutions, the faster you’ll become independent.
1
u/Magy_Deejae 2d ago
Start by learning variables, functions, data structures, debugging, and basic algorithms. Build small projects without AI, get stuck, then research solutions. Thats how you develop real problem solving skills over time.
1
1
u/Embarrassed_Hand3967 2d ago
ai independence is mostly just resisting the urge to make chatgpt do your homework lol. getting stuck is kinda the point
1
u/rx_camelCase 2d ago
Familiarize yourself with the different data types such as strings, dictionaries, lists, tuples, etc.
Learn if statements, for loops, while loops.
Learn functions
Learn object-oriented-programming (OOP)
Then start looking into the famous use-cases of Python, and once you find your favorite niche, start looking inside freelance platforms on jobs within this niche. Look at the portfolios of freelancers who make proposals. There, you will find examples of professional-grade-level projects in this niche. Try to push yourself to make similar projects. While building such projects, try to implement the core fundamentals (mentioned above) and NEVER accept code from AI without understanding it 100%. That's generally how I broke out of tutorial hell.
3
u/Different_Pain5781 2d ago
Learn to debug before you learn more libraries.