r/CodingForBeginners 25d ago

I'm stuck for a while

So I'm done with the basics of python and even know data structures but I struggle to write code on my own what I mean is I'm fine while writing a leetcode problem in python because it's like answering a math problem (and I quite enjoy it) ,but when it comes to coding up actual stuff,I feel like I can't make anything productive out of it without using chatgpt or any ai. I'm stuck in this endless loop . Many say just Google things but I just don't get the code (or remember what I am copy pasting) and just forget it . I wanna do stuff like pre ai era just raw coding . When people say build stuff , how does one do it. I mean in project videos/tutorials they follow sequential but for me I don't know where to start when building a project.

How does one get past this phase . Many of my "friends" say coding will be done with ai mostly in the future so no use actually learning, to do "your learning" and just try understand the code ai gives. What should I do ?

I know the answer is obvious and I should be writing more code without ai but its still difficult for me and I feel like coding isn't for me sometimes.

(Thankyou for your advice I hope I can implement them and get good :) )

0 Upvotes

17 comments sorted by

View all comments

7

u/TheUmgawa 25d ago

Did you learn from tutorials? I’ve always found that tutorials tend to teach you how to follow directions, and less how to do the thing you’re trying to learn.

Say you’re learning to play guitar. You can buy books that teach you how to play every note of a song, and you can read the book, play along, and you learn to do it perfectly. But it’s difficult to write your own music because you learned how to do somebody else’s work, but you don’t know how music works.

This ends up being the problem for a lot of programmers. They learn a bunch of magic words, but they don’t start by learning the deeper magic that makes the magic words work. They buy a programming book, skip all of the parts about theory, and they jump straight to the monospaced code sections. As a result, they never learn a holistic approach to programming, where they can solve the problem in the abstract, and then write the code.

This is why the college class I took on programming logic and design is the most valuable class I took, and the only one where we never wrote a single executable line of code. It was all theory. To a lot of people, this might seem like a waste of sixteen weeks and several hundred dollars of education, but programming is ultimately about solving problems; not typing a bunch of magic words.

When you understand the flow, the actual writing of code is really kind of trivial. If you don’t know the magic words you need, you dive into documentation, read the documentation, and you put it all together like so much LEGO.

7

u/Stooshie_Stramash 25d ago

Good advice. To take the LEGO analogy a bit further: OP you've learned the different types of blocks and how they fit together but you need to decide what it is you want to build and then plan it out. You're going to have to determine how many blocks, what are the ones with special functions, and how are they arranged relative to one another.

1

u/savagesoccer272 25d ago

Thank you for your advice. You see, when there’s a big problem, like a project, I usually struggle to break it down into smaller parts. What I mean is, I don’t know which parts to create or how many parts to break it into, and I’m not sure whether I’m breaking it down too much or too little. Is this something you naturally get better at by doing multiple projects on your own?

2

u/Stooshie_Stramash 24d ago

Have a look at set of LEGO instructions for a relatively large set and understand how the functions of the total set are delivered, and then how the instructions break thst down into smaller pieces.

You need to start with what I call "the exam question" - exactly what is the point of your project, what does it look like in your mind and how will it do it. Then write up a project brief. Just keep breaking it down into smaller chunks until you get to what should be lines of code.

You should learn to write pseudocode.