Course Length: 2 days

Course Overview

JavaScript is a core programming language for web technology that can be used to modify both HTML and CSS. It is frequently abbreviated to just JS. JavaScript is used for processes that are used in the user interfaces of most web browsers, such as Internet Explorer, Google Chrome, and Mozilla Firefox. It is the most preferred client-side scripting language today, due to its ability to make the browser do its work.

This is a two-day course that will provide you with a deep understanding of JavaScript. You will learn how to write JavaScript in a professional environment using the new JavaScript syntax in ES6, leverage JavaScript’s asynchronous nature using callbacks and promises, and gain an understanding of how to set up test suites and test your code. You will be introduced to JavaScript’s functional programming style and you will apply everything learned to build a simple application in various JavaScript frameworks and libraries for backend, frontend, and mobile developments.

This is a fast-paced, practical course, aimed at developers using JavaScript. As you progress, you’ll find helpful tips and tricks, as well as useful self-assessment material, exercises, and activities to help you benchmark your progress and reinforce what you’ve learned. The activities have been devised to simulate real-world conditions in order to equip you with the necessary skills to accelerate software deployment while still maintaining security, portability, and affordability.

Course Objectives

If you are interested in gaining a good grasp of JavaScript in a systematic and practical way by working through real-world scenarios, then this course is for you.

This course will enable you to:

  • Examine major features in ES6 and implement those features to build applications.
  • Create Promise and Callback handlers to work with asynchronous processes.
  • Develop asynchronous flows using Promise chaining.
  • Manipulate the DOM with JavaScript.
  • Handle JavaScript browser events.
  • Configure JavaScript linting and TDD setup.
  • Create programs that follow the TDD pattern.
  • List the benefits and drawbacks of functional programming compared to other styles.
  • Explain function composition and function sequencing in depth.
  • Construct the Node.js backend framework and the React frontend framework.

Target Audience

This course is designed to target anyone who wants to write JavaScript in a professional environment. The audience is expected to have used JavaScript in some capacity and be familiar with the basic syntax. This course would be good for a tech-enthusiast wondering when to use generators or how to use promises and callbacks effectively, or a novice developer who wants to deepen their knowledge about JavaScript and understand test-driven development.

Course Outline

Lesson One - Introducing ECMAScript 6

  • Understanding Scope
  • Declaring Variables
  • Introducing Arrow Functions
  • Learning Template Literals
  • Enhanced Object Properties
  • Destructuring Assignment
  • Classes and Modules
  • Transpilation
  • Iterators and Generators

Lesson Two - Asynchronous JavaScript

  • Asynchronous Programming
  • Callbacks
  • Promises
  • Async/Await

Lesson Three -DOM Manipulation and Event Handling

  • DOM Chaining, Navigation, and Manipulation
  • DOM Events and Event Object
  • JQuery

Lesson Four - Testing JavaScript

  • Testing
  • Types of Testing
  • Test Tools and Environments

Lesson Five - Functional Programming

  • Introducing Functional Programming
  • Declarative vs Imperative
  • Pure Functions
  • Higher Order Functions
  • Shared State
  • Immutability
  • Side Effects
  • Function Composition

Lesson Six -The JavaScript Ecosystem

  • JavaScript Ecosystem
  • Node.js
  • React