Although the list below contains many of the best online resources, there are plenty of others that you could substitute or add in, allowing a better fit for your personal learning style. I have included materials that also may be redundant. If you have mastered the material in a section already, feel free to skim over or skip it altogether. As I go through each section in my plan, if I already have a good understanding, I skim through the just to be sure there is nothing else I could learn from the material. In many cases though, working through the material already covered merely provides a reinforcement of that topic and provides the ability to grasp the concepts even better.
I have organized the learning material into sections. Each section is laid out in a general order based on the level of difficulty. When learning something new, especially a programming language, I recommend using different resources such as websites, videos, books, and podcasts. Using multiple types of learning resources allows you to cover more ground and have a well-rounded learning experience.
- How to Learn JS Properly
- That JS Dude
- Perfection Kills
Although a few of these books are free, most must be purchased. You do not need to buy all of them; most will cover some of the same topics. I would suggest at least one of the first three books to get started.
- You Don’t Know JS series
Videos are an excellent way to quickly pick up a topic. Learning from others as they walk through the code is a great way to advance your understanding of the material. Just make sure to follow along. Don’t just watch the video, code with the video!
- Udacity: Intro to jQuery
- Udacity: Intro to Ajax
- Delivering the Goods
- Classical Inheritance is Obsolete – How to Think in Prototypal OO
Miscellaneous Tools and Frameworks
This section is more of an optional section. Pick and chose what you want to learn and go for it. It contains sites with practice exercises, framework documentation, and testing tools.
- A Better Way to Learn AngularJS
- Developing Backbone.js Applications
- The Node Beginner Book
- Felix’s Node.js Guide