As a beginner, how should I go about learning difficult concepts? - eviltoast

I’m trying to learn programming and something I struggle with the most is trying to separate code mentally into chunks where I can think through the problem. I’m not really sure how to describe it other than when I read a function to determine what it does then go to the next part of the code I’ve already forgotten how the function transforms the data and I get stuck trying to figure out the solution. So instead I’ll often cludge something together just to make it work but I don’t feel like I made any progress. Has anybody else run into this issue where they struggle with abstracting code from text to mental instructions?

Edit: Thank you all for the suggestions and advise. I wish I could reply to everyone but there’s been a lot of good information given and I have some ways now to try and train my brain to think about how to break down the code. It’s also a little reassuring knowing I’m not the first to have these same struggles.

  • Crul@lemm.ee
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    How long would you say it took you before getting a fundamental understanding?

    I would say years, as with any complex activity.

    I’m still forgetting things I learned 3 or even 4 times like how to do a for each loop.

    You can forget in 2 different ways:

    1. Forget how to use something, so you need to look how to do it.
    2. Forget that something exists, so you cannot even look for it because you are not aware it’s a possibility.

    You will forget-1 everything which you don’t use on a daily basis. That’s what internet is for. Forgetting in the 2-nd sense is much more rare and you should do something if that’s the case.

    all of it feels too advanced and I get lost on how to begin

    This is a bias most of us have, you overlook how easy is for you to do things that previously were impossible and focus on how hard are the things you still don’t know how to do. And computing is so complex right now that there always be “infinite” things you don’t know.

    Try showing what you know to someone who doesn’t know how to code and you will get an idea of how much you have learnt :).

    Anyway, I don’t really have good advice :/, just wanted to confirm that what you feel is expected. Good luck!