Course: Learn Modern JavaScript: Getting Started

Learn Modern JavaScript: Getting Started

  • Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App
  • Self-Paced
About this Course

JavaScript has changed and matured since its humble beginnings in 1995. One of the original goals of JavaScript in those early years was to make it easy for beginners. That goal has made it accessible for all types of people. However, this has also meant that JavaScript has been taught and learned incompletely by many.

In Learn Modern JavaScript: Getting Started, you are taught the fundamentals of JavaScript the right way. We won't skip topics. Some topics may seem more advanced, but that is because they are crucial to a complete grounding of JavaScript. Most importantly, you are taught the why, not just the what and how.

This course contains 12 sections, 113 different topics, over 13 hours of video tutorials, 12 exercises and everything you need for the proper grounding in JavaScript.

If you are ready to jump into the world of JavaScript or you want to increase you new found skills, this course is for you!

Basic knowledge
  • Prior to taking this course, it is best, but not required, to have some familiarity to HTML and CSS. As for tools, you will need a browser and a text editor. You should have some familiarity of using a browser
What you will learn

At the conclusion of this course you will be able to:

  • Understand the strengths and weaknesses of JavaScript
  • Write JavaScript code and link it to a web page
  • Test JavaScript code using the browser console
  • Declare variables and manipulate values
  • Work with operators
  • Explain coercion and hoisting
  • Use the Date and Math object
  • Use template strings for displaying output
  • Incorporate if conditionals in your code
  • Use a switch statement when appropriate
  • Understand and apply the while and for loop
  • Create an array
  • Add and remove elements from an array
  • Use array methods
  • Create user defined functions
  • Create arrow functions
  • Explain scope
  • Create user defined objects
  • Explain prototypal inheritance
  • Use the constructor and class structure to create objects
  • Explain the DOM
  • Select and modify elements from the DOM
  • Create event handles to respond to user actions
  • Debug your code
  • Optimally deploy your JavaScript code
Number of Lectures: 113
Total Duration: 13:17:43
Course Introduction
  • Course Introduction  
  • HTML and CSS Primer  
Introducing JavaScript
  • Why Learn JavaScript?  
  • JavaScript: A Short History  
  • Tools of the Trade  
  • What Makes Good Code?  
Let's Get Started Writing Code
  • Writing Your First JavaScript Code  
  • Working with the JavaScript Console  
  • JavaScript Coding Conventions  
  • Exercise 1  
Learn JavaScript Fundamentals
  • Understanding Types and Values  
  • Learning to Manipulate Values  
  • Working with Variables Part 1  
  • Working with Variables Part 2  
  • Declaring Variables Using let  

    External Resources

    Learn more about the difference between var and let by watching this tutorial from my YouTube channel.

  • Creating Constants  
  • Understanding null and undefined  

    External Resources

    For another tutorial on null and undefined, view this video from my YouTube channel.

  • Working with Operators  
  • Understanding Coercion  

    External Resources

    For another tutorial on coercion, you can view this video from my YouTube channel.

  • Understanding Hoisting  
  • Introducing Objects  
  • Working with the Math Object  
  • Working with the Date Object  
  • Using Template Strings  

    External Resources

    For additional instruction on template strings, view this video from my YouTube channel.

  • Checking the Start and Ending of a String  
  • Joint Exercise  
  • Exercise 2  
  • Exercise 3  
Using Control Structures
  • Introducing Loops and Conditionals  
  • Working with the if Conditional Part 1  
  • Working with the if Conditional Part 2  
  • Using Comparison Operators  
  • Understanding Truthy and Falsey  
  • Working with String Methods in Conditionals  
  • Using if else Statements  
  • Using the switch Statement  
  • Conditional Shorthand: The Ternary Operator  
  • Exercise 4  
  • Working with the While Loop  
  • While Loop Example 2  
  • Using the for Loop  
  • For Loop Example 2  
  • Learning Additional Assignment Operators  
  • Including the break Statement  
  • Understanding DRY Code  
  • Exercise 5  
  • Exercise 6  
Working with Arrays
  • Understanding and Creating Arrays  
  • Adding and Removing Array Elements  
  • Applying Arrays  
  • Looping Through Arrays  
  • Working with Sparse Arrays  
  • Using Array Methods  
  • Converting a String to an Array  
  • Using the Splice Method  
  • Exercise 7  
Incorporating Functions
  • Introducing Functions  
  • Defining Functions  
  • Understanding Function Declarations and Function Expressions  

    External Resources

    To view another discussion on function declarations vs. function expressions, view this video from my YouTube channel.

  • Understanding Arguments and Parameters  

    External Resources

    ES6 provides a way to include default values for parameters. View this YouTube tutorial to learn more.

  • Function Example  
  • Using the return Statement  
  • Understanding Scope Part 1  
  • Understanding Scope Part 2  
  • Understanding Higher Order Functions  

    External Resource

    For another tutorial on higher order functions, view this YouTube tutorial:

  • Using Arrow Functions  
  • Exercise 8  
  • Exercise 9  
Using Objects
  • Introduction to Objects  
  • Creating User Defined Objects  
  • Object Example  
  • Understanding this  
  • Removing Properties with delete  

    External Resources

    View this YouTube video for an additional tutorial on delete.

  • Accessing Properties with [ ]  
  • Understanding How Objects are Passed  
  • Understanding Prototypal Inheritance  
  • Defining the Prototype with Object.create  
  • Using Constructors  

    External Resources

    Here are some additional videos on constructors from my YouTube channel:

  • Using the Class Structure  
  • Exercise 10 Part 1  
  • Exercise 10 Part 2  
  • Exercise 10 Part 3  
Manipulating HTML Pages
  • Introducing the DOM  
  • Using Developer Tools to Work with the DOM  
  • Understanding the Process of Changing the DOM  
  • Selecting DOM Elements Using Dot Syntax  
  • Selecting DOM Elements by ID, Tag or Class  
  • Using Console.dir  
  • Working with Forms  
  • Traversing the DOM  
  • Traversing the DOM in Modern Browsers  
  • Modifying Attributes  
  • Adding Multiple Classes to a Node  
  • Modifying the HTML  
  • Creating New Nodes  
  • Exercise 11  
  • Understanding Events  
  • Event Example Part 1  
  • Event Example Part 2  
  • Using the Event Object  
  • Event Exercise  
  • Exercise 12  
  • Exercise 12 Solution  
  • Introducing jQuery  
The Latest JavaScript Features
  • How Does JavaScript Evolve?  

    If you would like to read more about the evolution of JavaScript and the process that controls it, you can visit this great article by Axel Rauschmayer:

  • Using ECMAScript 2016  
Debugging and Deploying
  • Using the Console to Debug  
  • Using a Debugger  
  • Using Strict Mode  
  • Using Linting Tools  
  • Deploying JavaScript  
  • What's Next?  
  • Additional Resources  

    Part of the discussion in the final lecture was about how to move forward now that you have finished the Getting Started course. In this bonus lecture I include some resources to help as well as a great deal on the Learn Modern JavaScript: Advanced Topics course.

    Practice JavaScript

    First, I mentioned it was important to work on projects. Now the best projects are those where you are required to build a full application or web site. Those can come from an employer, client, or just yourself. Those types of projects give you great experience. 

    In addition it can be helpful to work on JavaScript problems and challenges. These can help sharpen your skills. Here are some sites that provide opportunities to work on JavaScript problems.

    • W3Resources ( W3resources is a great place to start. You are simply presented with JavaScript problems, you then work on them, and then when you are ready you can display the solution. This is a great site for reviewing and practicing the concepts taught in this Getting Started course.
    • LeetCode ( Here is a description of LeetCode right from their website: "LeetCode is a platform for preparing technical coding interviews. Pick from an expanding library of more than 450questions, code and submit your solution to see if you have solved it correctly." This site includes several other languages; not just JavaScript. The site also designates the difficulty of the problem, which is nice.
    • CoderByte ( CoderByte is a great resource. They feature languages besides JavaScript. I really like their approach to the challenges. However, there are only a certain number of challenges that are free. You then must pay a monthly fee.
    • HackerRank ( HackerRank provides a chance to complete more difficult JavaScript tasks This is also is a site where employers may come looking for candidates. This site is more competitive in nature, so if that is not your thing, then you may want to look elsewhere.
    • CodeFights ( Like HackerRank CodeFights also takes a competitive approach to improving your coding skills. There are tournaments, head to head competitions, challenges and so forth.

    Continue Learning

    In addition to practicing your new found skills, you should continue learning. There are hundreds of JavaScript resources on the Internet. You simply need to do a search and you can begin finding them. 

    But I want to make you aware of my YouTube channel. I publish a new tutorial every week. Some of the tutorials may refresh the concepts covered in this course, or they may be completely new and more advanced. Either way I put the same type of effort into these tutorials as I do with my courses. 

    Here is a link to the channel so that you can subscribe:

    Here is a complete list of all the tutorials that have been published so that you can pick and choose those that will be most helpful:

Reviews (0)