Course Overview

This 5-day JavaScript training course teaches fundamental concepts involved in creating both client and server-side applications using JavaScript, Node.js, and popular modern frameworks. A review of functional programming is followed by important industry patterns. Students will learn to apply popular ES 6 features, and learn how to implement Web Components.  Server-side JavaScript is explored using Node.js, followed by detailed coverage of popular packages and frameworks including Express.js, MongoDB, Mongoose, Socket.IO, React.js, and an introduction to Docker.

Key Learning Areas

  • Using ECMAScript 6 with specialized tools
  • Creating custom elements with Web Components
  • js concepts, conventions, and testing
  • Finding and installing modules with NPM
  • Listening for and handling events
  • Working with streams
  • Creating and using Promises
  • Creating web applications and services with Express
  • Accessing data with MongoDB and Mongoose
  • io
  • Creating interactive UIs with React
  • Creating and using Docker containers

Course Outline

Functional JavaScript Recap

  • Immediately Invoked Functions
  • Using call(), apply(), and bind()
  • Working with Array Functions

JavaScript Patterns

  • The Need for Patterns
  • Pattern Technology Enablers
  • Understanding Closures
  • Testing with QUnit
  • Prototype Pattern
  • Revealing Module Pattern
  • Revealing Prototype Pattern

ECMAScript 6

  • Classes
  • Maps and Sets
  • Arrow Functions
  • Template Strings
  • Destructuring
  • Default and Rest Parameters
  • Using Babel and Webpack

Web Components

  • Web Components overview
  • Define custom elements
  • Markup templates
  • Create a shadow DOM tree


  • js overview
  • Install and run Node.js
  • Use npm to install third-party packages
  • js Modules
  • Callbacks and the Event Loop
  • js Promises and Asynchronous Operations
  • Events
  • Streams

Workflow Automation and Testing

  • Use Grunt to automate workflows
  • Mocha for testing Node.js

Express Web Application Framework

  • Installation
  • Create an application
  • Use and define routes
  • Render views
  • Serve static files
  • Use and create middleware
  • Error handling

MongoDB and Mongoose

  • MongoDB and Mongoose overview
  • Install and run MongoDB
  • MongoDB GUIs
  • Install Mongoose
  • Define schemas and models
  • Create, read, update, and delete documents


  • Install and configure Socket.IO
  • Sending and receiving messages
  • Namespaces and rooms


  • What is React?
  • Important React features
  • JSX syntax
  • Properties and State
  • Repeating components
  • Component lifecycle methods
  • Handling DOM events
  • React forms

Introduction to Docker

Who Benefits

Experienced JavaScript developers who want to learn how to use modern frameworks and packages to best apply their knowledge in the real world.


Completed the 3-day Essential JavaScript course or have a minimum of 6 months experience using JavaScript. Experience using Visual Studio Code is helpful but not required.