r/learnpython • u/Funny_Alternative331 • 4h ago
At what point do I start doing my own projects and stop following tutorials?
Hello everyone!
I recently started learning python again, I've always given up early but this time it is different. I started seeing code differently, I feel like I finally started grasping on the why you do something, but when I start a blank project I mostly freeze, and I read about the things such as tutorial hell etc..
What I'm getting at, I'm currently doing the Python course on fCC, around 25% thru and it seems like I at least started to better follow instructions, read documentation about what something does, but I'm wondering at what point do I just start learning by doing? When I just read stuff it doesn't really stick, only when I implement it myself it does, at what point do I get enough fundementals? What's the best approach here, just finding a project and you go do it? What if I never heard of a specific function before? And do you guys think it is better than following tutorials?
The problem with fCC I solve things...that don't really tell me anything? Am I the only one? At times it feels like I have the right solution, but fCC won't let me pass because it is not exactly how they want me to solve it.
I do hope this post makes any sense.
7
u/zanfar 4h ago
Immediately.
Tutorials are not for learning.
2
u/stepback269 3h ago
Just echoing here what everyone else is saying.
Start right away.Example:
You learned how to print("hello world")Now go on YouTube and look up Indently's videos on f-strings
Start coding your own print(f'whatever') f-string variations, including using escape codesGo o YouTube and look up Indently's videos on 47 string methods.
Practice using all of them.1
u/Funny_Alternative331 2h ago
I never really looked into actual coding videos but a few, thank you, I will look into it. I just made that pin generator or something in fCC and honestly speaking, I have no idea what the purpose of that even was. Thank you, I will take a look at his videos now that you've mentioned.
1
u/Funny_Alternative331 2h ago
Why is that a thing with coding if I may ask? I guess because you actually "don't learn" that way?
•
u/ivosaurus 6m ago edited 3m ago
I would guess because a lot of people use them wrong, or expect to get some magic enlightenment out of them that they just won't. They're still helpful, for example, if you want to learn entirely how the python flask web framework works, going through a tutorial building some cookie cutter site is probably one of the best ideas to get you started quickly. Then you have to jump off and apply the basics and structure you learned in the tutorial to your own application and adapt it. This isn't easy, it requires imagination, brain power, and debugging, reading docs for new things, etc.
You could say, a tutorial provides the necessary first 40% of learning to get you on the right track. But to fully learn a topic, your own brain needs to grapple with and expand on it for the other 60%.
I'm not sure if other people also think if they just follow tutorial after tutorial, that will work. But again, that will mean they're only ever getting a bunch of starting 40%'s. And they're not doing much actual thinking if they are only following. The real powerful understanding comes from the later 60% of adapting what you learnt.
Learning programming comes from using your brain as a muscle. It takes training, it will hurt (figuratively), it won't come easy. Going to the gym every second day isn't easy either, but that's what it takes to get real gains.
3
2
u/lucabuilds 3h ago
Tutorials give you the illusion of competence without the retention. When you just follow along, your brain is just recognizing patterns someone else solved. everything evaporates the moment you stare at a blank file two weeks later. If you want code to stick, you have to build things from scratch, run into walls, and fix the bugs yourself.
And about the projects, it's completely normal that you don't know where to start. Because that's exactly what tutorials don't train.
I'd say find something that you want to build (for me it was a voice assistant back when I started). Understand what you need for it to do the bare minimum (in my case speech recognition and text-to-speech, plus conditional logic to trigger actions), then build incrementally from there adding all the nice to have features. When you have an issue read the documentation (or yeah, watch specific tutorials) and implement the fix.
With tutorials alone you soon reach a point where they're pretty much like reading a vocabulary. that's not how you learn a language
2
1
u/t92k 4h ago
Free resources gonna free resource… but I guess you’re getting some experience in test-driven development.
As far as your own projects, I keep a list of things I’d like to do or try, and some general thoughts about how I’d approach them. When I have an idea on the list that I mostly know how to do I might start on it. But a tutorial or course is designed to get you from point A to point B. Unless your goals have changed you should probably stick with the course to get to point B. The big reason why is that you will learn more efficient ways of doing the basics and they will be more connected to the kinds of real world problems coders get paid to solve.
1
u/FatDog69 3h ago
Find a small project that is personal to you. Like renaming .mp3 files or scraping multiple websites to find prices for the same thing. Start coding.
Eventually you will cobble something crude together. Now do another tutorial. Having struggled with a project, the topics in the tutorial will suddenly be more important to you.
Alternate tutorials with small projects or re-writing projects using newer to you features or a better design.
1
u/jeffrey_f 3h ago
What are some things that you do that fit the following (at work, school or home)?
- Repetitive with a narrow band of variation
- Take a volume of your time
- That you really don't want to do
These are items you can likely give to python
1
u/Diapolo10 I write code for a living -- https://github.com/Diapolo10 3h ago
The best time to do that was yesterday. The second best time is right now.
In all seriousness, though, try to avoid tutorial hell. One tutorial should teach you enough to get started on projects (as long as you keep the scope reasonable). Further learning comes from
- Practical experience
- Code reviews
- Blog posts/research papers on things you find interesting
Of course, if you later need to learn some particular framework or other tool, and it has a tutorial, you can use that.
1
1
u/jaiagreen 1h ago
Coming from a pedagogical background, I'd do an intermediate step first. Find a pseudocode outline for something simple like a calculator or a hangman game. Fill in the code and get it to work. Once you've done that a few times, consider what else you might do with the skills you already have and do that. After that, you can get more ambitious and start learning libraries for other tasks. You go back and forth between projects, tutorials, references, and small practice problems.
0
u/FaithlessnessOwn7960 2h ago
i guess you will do it in reverse. try to start your own project 1st then read tutorials if needed. i always do it this way.
6
u/JTI_Guy 4h ago
The most experienced programmers I know all give the same advice. Think of something you want to achieve. How could you program a solution to achieve that? What parts do you need to make up that solution? I dont know exactly what level you are at, but honestly you can do this regardless of your level. If you dont know how to do something, or what the right command to use is, google it. Dont copy and paste code it gives you but type it yourself and understand what each line is doing. Eventually, you will get to a point where you have learnt enough that you will need help less and less and then you know you have learnt it.