I can't understand Java Script

Hello,
I’d like to express my frustration with my journey studying JavaScript.
When I read about the concepts and what goes into them, I feel I understand them but when I try to apply the concepts into an actual script and solve a problem, my mind goes blank! I can’t think logically or come up with an answer!! I go back and do the same thing but something isn’t clicking in my brain!!!
I don’t have a CS degree, So understand things might take a while but till when! I’m losing my confidence and I’m avoiding studying JS but then the loop continues. What should I do? What resources could help gain confidence in my ability to solve a problem or come up with things so I could create things on my own. I apologize for my long post but I’ve nowhere else to vent my frustration. Thank you for your time.

6 Likes

are you following the fcc curriculum or using other sources?

sometimes it is a matter of changing the source. if you are using a book, try an interactive course, or vice versa, or change book, or change course…

problem solving is also something you develop using it, so keep trying!

7 Likes

Thank you for your comment!
I’m trying to follow the course as best I can, I’ve done other courses but I’m not feeling that I “get it” enough to apply it with leisure so I can advance to harder concepts.
If you don’t mind me asking, Do you have a recommended book? for problem-solving?
I’ll try to work on it more as you said. Thank you.

for JavaScript there is You Don’t Know JavaScript, and Eloquent JavaScript (both free if you consult them online)

for problem solving there are a few courses on edX and coursera (for example this one on Mathematical Thinking) (you can audit all the courses for free)

4 Likes

Thank you very much!! I’ll check them out.
My goal is to truly understand JS and computers and I’ll try my best to do so.
Thank you :slight_smile:

if its problem solving you want to get better at code wars is a good site for practicing algorithms, this really helped me understand javascript better, you can start at the really easy ones like reverse a string and that, search for level 8 kyu challenges first then move your way up as you get better really helped me out because once you pass a kata you get to see everyone else’s code too so you can get tips from them
might be worth giving a try.

6 Likes

To get some perspective I have to ask, how long have you been learning JavaScript for? My guess is, not that long.

1 Like

Meh. I’ve been coding for over thirty years, and in-depth with javascript since 1998, following the evolution and progression, and I’ll tell you: the first bookmark on my top menu, in fact the first FIVE bookmarks? sites I use to look up coding language stuff. And the three behind that? Algorithm references that I constantly re-refer to.

It can be very very frustrating, when looking at a challenge, to determine which way to go. And I’ll tell you another - it can be EQUALLY frustrating, after the fact, to realize that your solution could be optimized and improved if you’d just… And if… And crap. Rewrite.

But it happens, and we learn from it. The way I work this? Pseudocode, pseudocode, pseudocode. I will start with a high level snapshot. For example:

The calculator challenge
* Make a calculator. 
* It has to take in numbers and operators.
* It should process them in the way a calculator does
* ...and it should display the result.

Boom. Bare-bones, high-tech, high-level snapshot. It will need more detail, but it gives me some ideas - my calculator will need buttons, and a display, and some mechanism to take the input from those buttons and turn it into something to display! So each of those (numbers and operators or buttons; display, processor or stack) will need some pseudocode detail.

Take each part, and write in your own words what it does. How does it get input? What does it do with that input? What does it return or output?

Draw pictures. Draw pictures on post-it notes, with pseudocode on the back. Stick them to a picture of a calculator, moving them around as you see fit. Make the buttons out of pink post-its, as they’re all the same class. Oooo, classes! See? We’re getting all complex-y!

For me, that’s what development becomes. It’s an evolution, and it can (and in my mind, should) be fun.

Best of luck, and keep on asking great questions!

20 Likes

Hey man, I have been trying to learn javascript for about 3 months. I feel the same way as you, I have tried video courses, tutorials, stuff here. I always blank, when I work on stuff by myself. I would say, when you get frustrated take a break. That usually helps me get motivated. Or work on little things here and there, pidcasts are good too. Hit me up if you want a study buddy!

8 Likes

Hello, Thank you for your comment.
I’ve tried to do so before and got stuck on the first challenge!
but of course I’ll keep on trying until I fully get it.

1 Like

Hello, I’ve been learning for four months.

1 Like

Thank you for your wonderful reply! It’s reassuring. I hope to reach the stage where I code have fun with JS, until then I’ll keep on trying to understand it.

1 Like

it is difficult to start, if you get stuck you can always ask for help!

it doesn’t matter if you get stuck on a thing the first time you do it, or the second, or even the fifteenth, you will get there. And you can always ask for help to get unstuck!

(note that the curriculum works only on google chrome)

2 Likes

Hello, Thank you for the push! Glad I’m not the only one pulling my hair out.
my problem is that if I took a break, I come back again with a heavy heart. It became clear to me now that it’s my problem for thinking I might not ever get it. Therefore, I’ll work first on my attitude towards learning JS. All the best to you and everyone struggling but will eventually reach the top.:hugs:

What’s crazy is everyone feels exactly as you have described but they keep practicing and coding anyway. Just be okay with it and after awhile you’ll start to notice your own progress. It takes a leap of faith in yourself but it clicks after you feel like you might have wasted your time and didn’t ingest any of it.

4 Likes

Thank you for your comment! maybe I focused only on the people who understood more than the process it took them to reach that level. like you nicely said, it’s about putting faith in myself to learn and be better problem solver! I’m feeling optimistic about it now thanks to everyone help and encouraging massages! I’m happy that I have a community I could learn from. Thank you very much :slight_smile:

These two courses have helped me a lot to understand Javascript better. I was very confused at the beginning. I still struggle with problem-solving, but it’s better not to give up. You may try these two courses and see if they are helpful.

Javascript the weird parts

The Complete JavaScript Course 2019: Build Real Projects!

I felt very dumb before taking these two courses. But gradually gained some tiny level of confidence that I am able to understand and apply it, although my progress has been very slow.

Also, I will suggest that you may try reading the code solution of others. Let’s say you solve a problem, then google it and see how other coders are solving the same or similar problems. And sometimes you need to zoom in on a particular topic, and hang in there till you get it right.
Google as much as possible and hunt down easy explanations, if not, then use this FCC forum, look for smaller easier problems to understand a concept better and gradually up your level from there. Do not miss a single day coding, because this is the crucial initial phase, if you give up for 2 days, you will be sort of 10 days behind. The brain needs to build that problem-solving pattern in your mind, so feed it as much as possible. Do not feel shy checking solutions, and learn from solutions if you will, learn those patterns in solutions and implement it. And repeat these steps as many times you need to, till you get it solidified in your working mind.

6 Likes

we have all been where your at mate, we have all had the same thoughts like im never gonna understand this or maybe im not cut out for this, but we all got passed it mate it just takes time that’s all, just stick with it because it definitely gets easier.

The problem is that you just forgot what you’ve learned yesterday so when you go to put something together you dont know what to do and your mind goes blank right, so just learn a couple things in a day and then practice them play around with them because trying to cram loads of things in a day is when they just go in
ear and out the other and your back at square one.

I’l give you some tips to get the ball rolling, so start with learning how to turn a string into an array and then then how to turn an array into a string this is important to learn for solving algorithms, once you learn this play around with it a bit and see what you can do with it maybe learn how to reverse an array, then you turn it back into a sting and there you go you have just solved the how reverse a string algorithm, now to put it to the test on codewars if you type in reverse you will get lots reverse algorithms just stay on 8 kyu then maybe once you pass how to reverse a string you could try how to reverse words in a string so “i am tom” => “tom am i”.

(another tip always remember to return your results)
good luck mate and let me know how you get on :slightly_smiling_face:

7 Likes

WOW! Thank you for your comment. I didn’t understand at first and then I knew I need to start with what you mentioned! I’ll do my best and hopefully get back here victorious. All the best.

1 Like

very good advice here!

1 Like