Trying to wrap my mind around JS

HI,

I started the JavaScript certification course a few days ago, and I’m finding it really hard to wrap my mind around. Progress in the course is much slower than with the RSW course. From what I hear, it will begin to come together once I start using it to build projects? I just wonder if my brain is going to melt before then?! :laughing:
I was wondering if there were any other resources you found helpful when trying to learn JS? Was thinking about watching the FCC YouTube videos and also want to try the free Scrimba course since it’s hands-on building projects from the beginning.
any encouragement or advice appreciated. :relieved:

1 Like

Definitely. It is a very different world than HTML and CSS. JS is a “real” programming language. If you haven’t learned a “real” programming language before, it is tough at first.

I was wondering if there were any other resources you found helpful when trying to learn JS?

Sure. Yeah, FCC is a nice framework, but it doesn’t really go in depth. I think it’s perfectly normal to take little side trips. I don’t know if I would recommend doing a whole other course at the same time - that might get confusing - but yeah, if there is some topic that is giving you difficulty then I would definitely do some google searches, check out some videos.

Also don’t make the mistake of thinking that you have to learn this perfectly. You need to get an idea what is possible and have to get good at looking up the details. Seriously, google is a developers best friend. I am constantly checking little details on the MDN site. No one can remember all this stuff.

And lastly, don’t feel bad if this is tough. This is tough for most people. Be glad that it’s tough. If it were easy, it would be an entry level job for high school dropouts and it would pay minimum wage.

2 Likes

I guess I’m old school because I think going with a book is still the best way to learn the fundamentals. If you search for beginning JS books you’ll get tons of lists with generally the same handful of books on them. Definitely one of the most popular is Eloquent Javascript, but there are others as well. If you have a good local library you might be able to find one of them there.

1 Like

I like books too. I don’t usually use them as my primary source anymore, but I did leaf through a few books to identify things that may have fallen through the cracks. Yeah, Eloquent JS is a great book. I also liked JS Alonge and the YDK JS series, but those are probably no good for beginners.

But hey, whatever works.

2 Likes

@kevinSmith thanks for the encouragement! I am glad for the challenge, just trying to get into a rhythm I guess. I don’t plan to do s whole separate 100+ hour course, just gonna scope out what Scrimba is offering. I have taken a few classes over there, one on UI and another on Flexbox, each about an hour long. I like their format. I do want to focus on the FCC cert though.
@bbsmooth thanks for the book recommendations! I like to have various formats for learning a new subject, it can help to see how different people explain the same concept. I am going to look those up at my library!

Appreciate the insight from you both.

I think there are more than one good path to learn. I think the most important thing is just to be persistent, don’t jump paths too often, and don’t give up.

2 Likes

Small steps … that would be my advice. About 18 months ago I started converting to develop web applications for my work, with about 20 years experience as a software engineer (leading teams, safety critical stuff). For sure it’s easier than starting from scratch, but still not an overnight process!

Realise that you don’t need to know everything that the language provides. There is a pretty small core set of features you really need to start off being useful … I make the mistake of wanting to know everything before I think I’m ready. Reality is, you need to stop “learning” and start “doing” earlier.

I’ve used FCC, You Tube, Udemy … all to absorb content in different ways.

I would recommend you get the very basics understood - set up sandbox projects so you can test out your knowledge, and the key thing is - experiment - play around, see what happens when you do things differently. We can get too used to being spoon fed stuff via a tutorial … then when you try things yourself, you don’t know how to start off.

Set yourself a goal for a dummy project that will force you to learn certain things - e.g. a “simple” site that needs a login, and then redirects to a different page on success / failure. Anything really … just something that stretches you a little bit.

Repetition is the other thing … you can learn things one day, but unless you start using it, our brains forget all too quickly. And our brains need a certain type of repetition to make stuff stick (sadly). Practice, and then add on another small feature, don’t try to create an AirBnB in a weekend … focus on one small thing, and do that. Then congratulate yourself when, after many hours, and lots of frustrations … it finally works!

Happy to recommend some resources I found useful if you would like.

4 Likes

Thank you so much for this thoughtful response @alastair ! Yes, from my experience with the RWD course, I know that I have to seek out lots of different sources while trying to learn. I also know that putting it to work, being hands-on, is really where I learn the most. That’s why I think I’m having some trouble with the modules; it’s introducing a lot of syntax and I’m not seeing how it is all going to fit together just yet. I know that I will… eventually.

I’m going to do what you said though and set up some sandbox projects to play around as I’m learning. The dummy project is a good idea. I just need to get to some kind of baseline first.

I know that I do need the repetition. I’m wondering if this course comes back around and ties in the HTML and CSS? Surely it does… Meanwhile I’ll have to make sure I’m keeping it fresh in my mind by creating more static pages.

Thanks again!

JS (or any programming language) is just a very different beast altogether compared to HTML and CSS. It won’t make much sense at first, just like learning any language, but with time it will, and soon enough you will speak its syntax. Then comes the hard part, actually using the syntax to make it do what you want.

It all ties back together when you get to the Front End Development Libraries where you will use all you have learned for the final projects.

It should also be noted that HTML and CSS are a lot more forgiving and it’s much harder to make the requirements as rigid as they are for programming code. I’m sure if we had much more complex and pixel-perfect design requirements most people would be tearing their hair out trying to code the RWD pages as well (not that making people balled is the point of the challenges). It wouldn’t involve much if any type of programming logic but you can write some programming logic using SCSS.

1 Like

Yeah, it can feel pretty overwhelming - the problem with web development, is that there is too much information out there! And also, there are maybe 10 ways to solve every problem …

Learning this stuff is not linear … and sadly, not exponential … more like a rollercoaster maybe! When you think you’ve mastered “promises”, you later find a big gap in your understanding …

It does all come together though, with patience and chipping away. Sometimes, it just takes a bit of time for the concepts to sink in.

A good free resource that I’ve used no end of times is the Traversy media videos on You Tube. There is a JS crash course on there that I’m sure would be worth skimming through at the very least.

1 Like

I find reinforcing it with a second run through is helping a lot. I find I knew way more at the beginning of the certification process than I did when I started. Since it’s layered learning, you end up repeating simple steps and end up picking up on steps you may have looked at the hints section or may have been a bit of a leap in progression, in my opinion. I took my time the first time around and I’m trying to speed through it now. It really is the most condensed learning package for JS I have found on the web and that’s coming from someone who bought a few Udemy courses and enrolled in codecademy.com.

JavaScript is different The best teacher I found was a guy name Brad travesty on Udemy. Clear explanations and usable code- most people know code just not programming. Good luvk

3 Likes

For an ultra simplified version, vanilla Javascript is all about grabbing elements from your html and css and getting those elements to DO something that you desire. Like IF you hover over a h1 tag THEN something will happen. Or, when the user CLICKS on a image, THEN something will happen.

This is kinda simplified but I was looking for information like this when I first started learning JS so I thought I should pass on my tid-bit of information. Hope I helped :sweat_smile:

1 Like

that IS helpful actually! I kind of picked up on that as I was doing one of the projects on the scrimba JS course today. I’m gonna head back to the FCC modules this evening and see if my brain is more receptive. :sweat_smile:

1 Like

It really reminds me of a riddle or some type of puzzle. where as HTML and CSS is all about building, JavaScript (and any other programming language ) is interconnected and weblike in structure (meaning all parts of the script are somewhat connected and are talking to other parts of the script).

But yeah thinking of it as a riddle or a puzzle really helps me haha.

and its really fun in that way.

1 Like

Hi - I started the JS course nearly a year ago and worked through the exercises until I got stuck (at “Record Collection” - which just caused brain freeze and bafflement, and then actual anxiety about my inability to understand what the exercise was even asking me to do).

I left it a few months and tried again from the beginning. I had to make a Word document to be able to tick the exercises off as I completed them the second time, as they already had ticks from completing them the first time. I got as far as “Record Collection” again, and became disillusioned with the whole course. I thought I was getting somewhere with understanding, but no.

Then last week I tried again, (glad I kept my Word doc to tick again). Today I’ve reached “Record Collection” and am none the wiser about what it’s about. This time I plan to ignore the problem and carry on (having cheated by pasting the solution into the answer box).

I’m hoping one day to understand. Meanwhile I’m going to try to edge a bit further. On the bright side, it didn’t take long to get this far into the course 3rd time round.

3 Likes

I came back to the lessons last night. I had left off at Boolean values. I don’t know if it had to do with working on a Scrimba project all day, or if the syntax I was learning past that point would have made more sense anyway, but the material began making more sense to me.
I’m sorry that exercise gave you so much grief! I haven’t gotten to it yet. Now I’m worried! :sweat_smile: Are you on Discord? Maybe we could walk through it together, when I get there… The last exercise I did last night was the Golf Score. It took me a couple of tries to get it. I think I was just missing a curly brace or something… oh, no! it was the that I had put in = instead of ==.
I’m glad I made it past that mental block. I won’t be surprised if I get another one down the line, but I feel reassured by all the messages in this thread.
Thanks everyone.

Do you have examples of where you get hung up? Depending on the challenge, I could think up some resources that might clear things up for you.

To be fair, if memory serves, that golf score problem is challenging because it’s set up kinda weird. Don’t feel bad if you struggled with that, cause I remember doing the same.

1 Like

I think what had me scratching my head was bracket notation with pop and shift etc, and I think also the manipulations with arrays in the first section of the JS course. Once I got to if statements and equality, things got easier to understand. I actually did pretty well with the Golf Score (my husband and son are golfers :sweat_smile:), I just briefly forgot that equality uses == instead of =. I’ll take a peek at the earlier lessons again and see if they’re making more sense now. I think I just needed to step away from it and come back with fresh eyes.