Hello Cyath,
I can understand your frustration, I started experiencing the same emotions when I went through javascript algorithm and data structures. ES6 was really difficult for me to grasp conceptually. Eventually, when I got to React.JS, I just mentally gave up and took a near 2 month break.
My realization:
Some of this stuff don’t make sense to you, until it does, and the moment it makes sense to you, it’s usually after a lot of time spent coding/reading tutorial/Googling. The more you go at it everyday, the faster that moment of realization will hit you.
Learning/Knowledge Acquisition is an uncontrollable process, with no certainty but only possibility, in which we try our best to put the odds in our favor, to learn. For coding, the way to put odds in your favor is by spending as much time as possible coding.
Are you being too hard on yourself?
I was, and I think you probably are too. A lot of this stuff don’t make sense to most people on first sight. However, the people who choose to be optimistic are usually the ones that keep putting regular amount of hours everyday, and eventually learning the concepts
What I’d tell myself if I could go back in time:
Just relax, and don’t quit, instead spend time on other projects that you are good with. Come back to the difficult problems later when you feel better. Break down the question into simpler parts, for example do not look at the problem as a whole, but as individual parts.
Example: Iterate through a 4x3 array with strings, objects, numbers, boolean values, and etc.
An easier approach to this would be, how would I use .map() to iterate through a 1-dimensional array, with only string messages inside like [“hello”, “coding”, “goodbye”].
This approach helps me to understand how to use unfamiliar tools, in a very easy way. When I feel like I understand how to use .map(), I started applying it to more difficult problems.
Conclusion:
Do not give up, but do feel proud about what you’re going through. Maintaining a positive attitude is much much much more important on the long run, in life, as comparing to learning data structures. You will encounter more topics that you don’t know, and the best thing you can train to do is, stay positive under uncertain/unfamiliar situation.
If change is the only constant in life, the best we can learn is coping with situation in which we have no 100% certainty, and learning to code is the perfect exercise I can think of!
Cheers,
Codey