1

how do you learn some concept in programming/dev? am not talking about the understanding, but rather the remembrance part, like retaining in memory in a way that you could remember to recognise/use it , the next time you see it or need it?

do you prefer :
- writing on pen and paper(ie creating notes)
- writing a personal/public online blog
- implementing it in a project that depends on it/ some sample project
- or something else?

Comments
  • 2
    Third is the best because you can see the pros and cons and even tweak things around the cons
  • 4
    Before I started working in IT, I worked in welfare. It's kinda crazy depiction, but I learned more in welfare from helping other people than I learned in 13 years of school.

    One of the most important things to take away from working with welfare is the common misconception that there is a right and a wrong way to learn things.

    Maybe stress situations help - record your own voice, go for a run, chop wood, wield stuff.

    Maybe you're the calm person, reading it out aloud in a relaxing and calm voice does the trick.

    Maybe it's writing it down.

    Maybe you need to create an in mind visual library of stuff - look up e.g. memory palace.

    Some people cannot cope with repeating patterns - for them fragmentation of texts and reassociation is the key. Basically randomizing the order of information and letting them order it out.

    Some just need to reread the information.

    The joy part is finding it out. Test for yourself and look up all kinds of memory techniques.

    If you had trouble in school, you might want - no matter what age - look for professional help. Some people figure out very late in life that they have a learning disability, always a possibility.

    So. Get crazy and test it out.
  • 1
    for me, I always implement stuff I'm learning. If I need a tutorial to do it because its complex and long then I either a) follow the tutorial, doing small changes along the way to test stuff and get better intuition of whats happening, or b) I just implement my own thing while also watching the tutorial for the general direction

    practice makes perfect as they say
  • 2
    For me implementations work best too. I even use it in my communications. I think I ran into something on... project. Here is the code.

    Sometimes I find some (as in actively looking for) better solution. That also sticks with me because I'm unhappy about what I did. So even if there is no time to implement the better version. I tend to remember it next time.
  • 2
    understanding is the key.

    if you _truly_ understand, you _will_ remember.
  • 1
    +1 for implementing but you can boost your memory by writing a blog post about it. I have few simple blog posts and I still remember every detail. Even if you forgot details, looking 2 minutes to that post will make everything clear as day.
  • 0
    @melezorus34 @Hazarth @hjk101 @zlice @hack what about data structures, algorithms and competitive programming questions?

    i learned concepts like threading, caching, db, authz crud etc by implementing, on ui/backend framework. but programming concepts feel difficult to remember since I can't create some digram/flowcharts/real life implementation etc for those concepts
  • 1
    can you give an example, because structures and algorithms can be implemented, so the same applies to those. competitive programming usually comes down to experience really, but even those you can apply, which means you can test/implement them to see the difference.

    Nothing really comes to mind that you couldn't implement.. I mean DnC is a concept, but its so widely applied that you can easily find a sorting algo that uses it and try it out yourself too.
  • 0
    hmm practice is best, but also the most consuming, so i get why people would cringe at that suggestion
  • 0
    @Hazarth by implementing, I meant implementing in a practical project, not just implementing a concept as code. the concepts are easy to remember, its code is somewhat tricky for me. like i do remember the principal on which quick sort work, but i almost always forget its implementation . however in case of , say threading and asynchronous programming, i can make a demo prject where a button press could make parallel requests and bring data in real time
  • 0
    @dotenvironment my personal favourite quicksort implementation is Haskell's, it looks so trivial and derives so naturally from the whole concept of lazy lists
Add Comment