Advice and tips for a beginner learning Javascript

Hey guys, I have gone thru the HTML, CSS courses and have created my tribute and portfolio page here at FCC. Now it is on to Javascript. Granted, up to this point, I do like Free Code Camp’s “figure it out for yourself” approach. Things tend to ‘stick’ better for me this way. However with JS I feel as if i need a little more guidance? While I have been using outside resources for stuff, I was wondering what your personal experience was like learning Javascript. I am a little lost. I have been able to sort of fumble through the exercises here up to this point. I know your first real programming language will be the toughest to learn and I am fine with the struggle in that. I’m thinking of maybe doing W3school’s JS tutorial and reading over Eloquent JS as well, before continuing with the material here at Free Code Camp, or a combination of all 3 together. Does anyone have any tips or suggestions with learning your first real programming language such as Javascript? What did you do? What did you study? HOW did you study? I feel like I get wayyyy too caught up with note taking and trying to remember every syntax I come across and am not being very efficient. Did any of you go through anything similar? What did you do to change that? All advice is greatly appreciated. I’m trying to point myself in the right direction but feel like I’m just going in circles. Thanks everyone!

1 Like

Hey, @Wess2121 ! Thank you for this opportunity for me to hopefully help you in your journey into Javascript. I think the first thing to know is that Javascript is a great language because there are so many people, and as such resources, to help you learn and use Javascript. However, it will not be as easy as learning HTML and CSS because it will not appear as easy and fun in the beginning. However difficult it may seem, remember just to keep going. Eloquent Javascript says it best with “Learning is hard work, but everything you learn is yours and will make subsequent learning easier”.

I think a combination of the three things you mentioned is a great plan. I think the best thing you do is what FreeCodeCamp encourages, to just start building things. And not just a little bit here and there, immerse yourself and make your Javascript sessions at least three hours. It will seem crazy at first but you would not be able to really learn another language like Spanish by having fifteen minute conversations with a person every day. A great way to start the conversation is to open your Internet browser’s Developer Tools and just to start writing out your Javascript and testing it in the console right there.

Where to start? Start with the front-end type things with writing jQuery functions for some feature on your change. This will help you to understand how Javascript functions within the browser. Then, once you have finished the Intermediate and Advanced sections of FreeCodeCamp, you will then move on to understand that Javascript can be used additionally as a back-end language. However, I have been studying Javascript for over a year now and am just starting to get there. Javascript is amazing it is so vast. To help you, there are so many libraries to help you with working with it. If you are going to read Eloquent Javascript I recommend following along with the website version to play with the code in the examples. Welcome to the beginning!

4 Likes

A few things that came to my mind…

I like to have at least one physical book on JavaScript to supplement the FCC course. I have the Jon Duckett book and I am reading the well known YDKJS Up & Going book online.

Learn how to ask yourself (and google) the right questions, mainly about the fundamentals of what you’re actually doing or using. Then go look them up on resources like Mozilla Developer Network, Stack Overflow etc.

Watch YouTube videos about the concepts you don’t understand for the exercise you’re working on. Watch videos that are within the last couple of years and have a good amount of views and a good rating.

Use Repl.it to experiment with your code and the JS language by using a lot of console.log() to see exactly what is happening.

The FCC Gitter chat room and the forums of course are a great place to get help too!

1 Like

Before you learn a specific programming language, you need to learn the general “theory” that goes with programming languages, like variables, conditionals, loops, etc.

In that respect, Gordon Zhu’s “Practical JavaScript” is a great free resource for learning the basics: https://watchandcode.com/p/practical-javascript

The aforementionted Jon Duckett book is also very good, which is called JavaScript and jQuery: https://www.amazon.com/JavaScript-JQuery-Interactive-Front-End-Development/dp/1118531647/

And a lot of people like Colt Steele’s course on Udemy called The Web Developer Bootcamp, which certainly is a good course for learning the basics, but I can’t really speak for the JavaScript section in particular myself, as I skipped over it since I was already more than familiar with JS (and programming in general): https://www.udemy.com/the-web-developer-bootcamp/learn/v4/

If you’re not averse to paying at least 1 month for Code School, I also recommend their JavaScript Road Trip series, parts 1-3. Because their content uses animation extensively, they’re able to visually demonstrate a lot of concepts that might not be easily understood without a visual demo, like hoisting for example. Link to Part 1: https://www.codeschool.com/courses/javascript-road-trip-part-1

The “You Don’t Know JS” resource by Kyle Simpson on GitHub is very good, but not really something that I’d recommend for a newbie to programming. Heck, I have a full CS degree and have been finding parts of it a bit challenging to digest—and if I hadn’t taken certain CS courses already (that were in my 3rd and 4th years!), I know I’d be struggling with it more (tokenizing, lexing, & parsing, which are mentioned in his 2nd book, tend to be taught in the 3rd year of a typical CS curriculum). It’s really only thanks to those courses that I’m able to understand what it’s talking about a lot of the time without having to re-read everything multiple times.

2 Likes

Thanks so much for the info!

I’ve been hearing really good thing’s about Gordon Zhu’s Practical JavaScript. I’m going to start that tonight when I’m off work!

Thank you so much for the suggestions!!!

Khan Academy also has two really good JS tutorials, Intro to JS: Drawing and Animating, and a class about DOM manipulation HTML/JS: Making Webpages Interactive. This is where I first started in coding.

Personally, I prefer the video series format where they give you code to write in your own editor because then, you can go back and look at those files if you forget how to do something. With online tutorials, like Code School, you’d have to go back to that website and then find that particular challenge or video. And while I’m talking about Code School, they will have a “Free Weekend” about every six months where all of their content is free for about 48-72 hours.

Anyway, back to the videos, some of my favorite websites to go to are The New Boston, Microsoft Virtual Academy, and edX. All three websites are totally free! Okay, so you have to pay to get an actual certificate/certification, but all the content itself is free.

1 Like

I am working on a youtube series to help cover the basics of programming in javascript here if you need additional resources:

1 Like

Thank you for the honest opinion .
I know that everyone recommends YDKJS for beginners with no programming skills whatsoever .
Well, The second book made no sense to me .I had to read it many times to actually understand something. I decided to stop these books for now.
Practical Javascript with projects from YouTube and CodeAcademy are my last hope …

YDKJS is not good for beginners. I don’t think it’s meant to be. It’s meant for people who already think they know plenty about javascript. Practical javascript is the only way to go - you can read “object variables are passed by reference” a dozen times, but you won’t really get it until you write a program assuming the opposite and have to debug it for yourself.

As it is already mentioned in other replies I should also suggest to start with free courses on Udemy and coursera. Start with a fundamental course. You might find those courses useful

thanks!!) i’ve found out some new resourses.