When scouring Youtube and the internet in search of the best Javascript tutorial I could find, I noticed repeat recommendations for certain courses on Udemy that included Anthony Alicea’s course, “Javascript: Understanding the Weird Parts.”
When you see something recommended multiple times from independent and varying reputable sources, it’s a good idea to check it out. I promptly purchased the course for $10.00 (it’s normally about $15.00 I believe) on a New Year’s sale and began devouring the course. I completed it yesterday, and I can say that the course is more than worth it and it lived up to all of the recommendations.
The teaching approach taken by Mr. Alicea is to examine how Javascript works “under the hood.” There is an emphasis put on “understanding” over “imitating.” The method is very effective and is employed with great skill. I really did feel like I was learning the “Why” in addition to the “How.” Concepts and terms are broken down and explained in plain English to the student with prompts like “Big Word Alert”, where an intimidating term like “Immediately Invoked Function Expressions” is explained in a concise and straight-forward manner, de-mystifying any jargon. The course was very well thought out and logically structured as well.
Before taking the course, you should know some basic Javascript. I started with this excellent tutorial(link) by Bucky Roberts on his channel, thenewboston, before taking Alicea’s course on Udemy. The tutorial is concise and to the point while being slightly entertaining; all of Bucky’s tutorials are really well done and great for beginners who don’t know where to start. After going through that beginner’s tutorial, I was able to keep up in the Udemy course and not be lost from the beginning.
Topics covered in the Udemy course included (very partial list!):
- Execution Contexts
- The Execution Stack
- Scope Chains and Namespace
- Precedence and Associativity (for Operators)
- Closures
- IIFEs (Immediately Invoked Function Expressions)
- First Class Functions
- Functional Programming
- Prototypes and Prototypal Inheritance
- Function Constructors
- Examining Frameworks/Libraries (JQuery)
The lectures on the Execution Stack, Execution Contexts and Closures were invaluable to me and clearly explained more advanced concepts and ways that the Javascript Engine works that would have taken me much longer to understand or become aware of without taking the course. I’d almost say it was worth it for those lectures alone, but the rest of the material was just as informative and helpful.
The Deep Dive Into Source Code section to get what the teacher calls an “opensource education,” was eye opening and very interesting. Taking a look at famous libraries and frameworks like JQuery and underscore.js can be intimidating, but Alicea breaks some of the code down and shows you how to get started taking it apart in order to learn from it. A great source that the course exposed me to was the annotated version of underscore.js which can be found here and the uncompressed development version of JQuery which can be found here. These versions of the libraries are commented and annotated to explain what is happening in the code.
I can’t recommend the course highly enough if you have an interest in learning Javascript. Now that I’ve taken Bucky Robert’s beginner tutorial and Javascript: Understanding the Weird Parts, I think I have a solid foundation in Javascript to build on in the future as I continue to learn more about the language. If you’re interested in getting an idea of what is taught in the beginner’s tutorial and the course, you can look at my notes that I took while studying and going through them. They are very rough and basic in format; just in a simple text file, they were just meant to help me remember and digest some of the concepts, but they might prove helpful to look through if you’re learning or interested in taking the courses.