Professional JavaScript

Course Description Overview

Course Number:
035467
Course Length:
3 days
Course Description Overview:
Professional JavaScript is your one-stop solution to mastering modern JavaScript. The course covers the latest features of JavaScript and advanced concepts, such as modularity, testing, and asynchronous programming. By the end of the course, you’ll know how to create a full-stack JavaScript application using NodeJS and how to use JavaScript in functional programming.

In-depth knowledge of JavaScript makes it easier to learn a variety of other frameworks, including React, Angular, and related tools and libraries. This course is designed to help you cover the core JavaScript concepts you need to build modern applications.


You’ll start by learning how to represent an HTML document in the Document Object Model (DOM). Next, you'll combine your knowledge of the DOM and Node.js to create a web scraper for practical situations. As you cover further chapters, you'll create a Node.js-based RESTful API using the Express Library for Node.js. You'll also understand how modular designs can be used for better reusability and collaboration with multiple developers on a single project. Later chapters will guide you through building unit tests, which ensure that the core functionality of your program is not affected over time. The course will also demonstrate how constructors, async/await, and events can load your applications quickly and efficiently. Finally, you’ll gain useful insights into functional programming concepts such as immutability, pure functions, and higher-order functions.

Course Objectives:

By the end of this course, you'll have the skills you need to tackle any real-world JavaScript development problem using a modern JavaScript approach, both for client and server sides.After completing this course, you will be able to:


  • Apply the core concepts of functional programming
  • Build a Node.js project that uses the Express.js library to host an API
  • Create unit tests for a Node.js project to validate it
  • Use the Cheerio library with Node.js to create a basic web scraper
  • Develop a React interface to build processing flows
  • Use callbacks as a basic way to bring control back
Target Student:
Each section in this course has been explicitly designed to engage and stimulate you so that you can retain and apply what you learn in a practical context with maximum impact. You’ll learn to tackle intellectually stimulating programming challenges that will prepare you for real-world topics through functional programming and test-driven development practices. Each module of chapters has been explicitly designed to build upon JavaScript as a core language.
If you want to advance from being a front-end developer to a full-stack developer and learn how Node.js can be used for hosting full-stack applications, this course is for you. Knowledge of JavaScript’s basic syntax and experience with popular front-end libraries such as jQuery is required. You should also have used JavaScript with HTML and CSS, but not necessarily Node.js.
Prerequisites:
-
Course-specific Technical Requirements Software:

We also recommend that you have the following software installed in advance:

  • Git latest version
  • Node.js 10.16.3 LTS (https://nodejs.org/en/)
Course-specific Technical Requirements Hardware:

For the optimal student experience, we recommend the following hardware configuration:

  • Processor: Intel Core i5 or equivalent
  • Memory: 4 GB RAM
  • Storage: 5 GB available space
Certification reference (where applicable)
-
Course Content:

Lesson 1: JavaScript, HTML, and the DOM

  • HTML and the DOM
  • Developer Tools

Lesson 2: Node.js and npm

  • What is Node.js?
  • Node Version Manager (nvm)
  • Node Package Manager (npm)

Lesson 3: Node.js APIs and Web Scraping

  • Globals
  • FileSystem APIs
  • HTTP APIs
  • What is Scraping?

Lesson 4: RESTful APIs with Node.js

  • What is an API?
  • What is REST?
  • Useful Defaults and Easy Inputs
  • Middleware
  • The Contents of a JWT
  • MongoDB

Lesson 5: Modular JavaScript

  • ES6 Modules
  • Object-Oriented Programming (OOP)
  • npm Package 

Lesson 6: Code Quality

  • Clear Naming
  • Unit Tests
  • Integration Tests
  • End-to-End Testing
  • Puppeteer

Lesson 7: Advanced JavaScript

  • Language Features Supported in ES5, ES6, ES7, ES8, and ES9
  • OOP in JavaScript
  • Sorting
  • Maps and Sets
  • Math, Date, and String
  • Symbols, Iterators, Generators, and Proxies

Lesson 8: Asynchronous Programming

  • Callback Hell
  • Async and Await

Lesson 9: Event-Driven Programming and Built-In Modules

  • Eventing
  • Node.js Built-In Modules
  • Handling Large Files in Node.js

Lesson 10: Functional Programming with JavaScript

  • Functions – First-Class Citizens
  • Pure Functions
  • Higher-Order Functions
  • Function Composition
  • Immutability and Side Effects
  • Introduction to GraphQL Language Schemas and Queries
Registration
Register Now