Course Overview
  • Welcome!
  • Grab the PDF Guide
Setting up Your Machine
  • Section Intro: Setting up Your Computer
  • Installing Visual Studio Code
  • Installing Node.js
  • [Windows Only] Install cmder
  • Introduction to the Terminal
  • Hello JavaScript!
JavaScript Basics: Variables and Flow Control
  • Section Intro: JavaScript Basics
  • Strings and Variables
  • Numbers
  • More on Variables
  • Build a Temperature Converter
  • Booleans and Comparison Operators
  • If Statements
  • Advanced If Statements
  • Logical "And" and "Or" Operators
  • Variable Scope: Part I
  • Variable Scope: Part II
JavaScript Functions
  • Section Intro: JavaScript Functions
  • Function Basics
  • Undefined and Null
  • Multiple Arguments and Argument Defaults
  • Function Scope
  • Template Strings
  • Build a Grade Calculator
JavaScript Objects
  • Section Intro: JavaScript Objects
  • Object Basics
  • Using Objects with Functions
  • Object References
  • Build an Expense Tracker
  • Methods
  • Exploring String Methods
  • Exploring Number Methods
  • Constant Variables
  • Bonus: Variables with var
JavaScript Arrays
  • Section Intro: JavaScript Arrays
  • Array Basics
  • Manipulating Arrays with Methods
  • Looping Over Arrays
  • The For Loop
  • Searching Arrays: Part I
  • Searching Arrays: Part II
  • Filtering Arrays
  • Sorting Arrays
  • Improve Our Expense Tracker
Javascript in the Browser
  • Section Intro: Javascript in the Browser
  • Setting up a Web Server
  • JavaScript in the Browser
  • DOM Manipulation
  • DOM Challenge
  • Adding Elements via the DOM
  • Handling User Interaction
  • Advanced Queries
  • Text Inputs and Live Data Filtering
  • Rendering Our Filtered Data
  • Todo Filter Challenge
  • Working With Forms
  • Checkboxes
  • Dropdowns
Data Storage, Libraries, and More
  • Section Intro: Data Storage, Libraries, and More
  • Saving Our Data in LocalStorage: Part I
  • Saving Our Data in LocalStorage: Part II
  • Splitting up Our Application Code
  • Refactor Challenge
  • Debugging Our Applications
  • Complex DOM Rendering
  • Setting up a Third-Party Library
  • Targeting by UUID
  • Checkbox Challenges
  • The Edit Note Page: Part I
  • The Edit Note Page: Part II
  • Syncing Data Across Pages
  • JavaScript Dates
  • Moment
  • Integrating Dates: Part I
  • Integrating Dates: Part II
  • Take a Break
Expanding Our JavaScript Knowledge
  • Section Intro: Expanding Our JavaScript Knowledge
  • Arrow Functions: Part I
  • Arrow Functions: Part II
  • Conditional (Ternary) Operator
  • Truthy and Falsy Values
  • Type Coercion
  • Catching and Throwing Errors
  • Handling Application Errors
  • Working in Strict Mode
Advanced Objects and Functions
  • Section Intro: Advanced Objects and Functions
  • Object Oriented Programming
  • Constructor Functions