We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details

  
AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers

Programming

Advanced JavaScript

Group Training + View more dates & times

                 
Overview

Modern Web Apps are programs that are experienced in a browser. We need to use a mix of HTML5, Ajax and advanced JavaScript techniques and libraries to get us there.

Node, Angular, React, React Native, Vue, and similar frameworks demand a deep understanding of JavaScript for developers to be successful in them. This 5-day course is specifically designed to build the foundations needed for students to code in them.

This interesting and intensely practical hands-on workshop is designed to equip you to write JavaScript in a way that is robust, scalable, dynamic, elegant, and safe. We focus on modern techniques and practices that will stretch even experienced JavaScript developers but we keep them within the grasp of devs who may consider themselves JavaScript novices.

Who Should Take This Course

PREREQUISITES

Basic understanding of HTML and how the web works. Programming experience in JavaScript and an understanding of basic JavaScript language elements.

Why You Should Take This Course

Upon completion of this course, the student will be able to:

  • Explain modern tooling environments like webpack, npm, yarn, eslint and successfully set up a continuous integration system (CIS)
  • Write well-organized and properly structured JavaScript modules
  • Write and run unit tests on their JavaScript with Jasmine/Jest and Karma
  • Handle multi-threading in JavaScript with promises and async/await
  • Begin applying JavaScript frameworks like React, Angular, and Vue in a more extensible, robust, scalable, and safer way.
  • Explain MVC architectures
  • Consume a RESTful API with Ajax using the fetch API
Schedule
Course Outline

Intro to JavaScript

  • Just enough JavaScript to write a (if, while, for, comments)

Intro to NodeJS

  • How to write and run a Node script

Debugging JavaScript

  • Browser-based tools
  • Formatting the console
  • Why you should never use alert()

Tooling

  • Why have tooling?
  • npm and yarn
  • eslint and jslint
  • transpilers
  • webpack

Unit testing JavaScript

  • Writing and running unit tests
  • TDD/BDD
  • Karmine and Jasmine

Operators

  • Arithmetic
  • Auto-operators
  • Logical operators
  • Truthy and falsy
  • Short-circuiting

Functional JavaScript

  • Variadicity
  • Pure vs. impure functions
  • Function statements
  • Function expressions
  • Arrow functions
  • Rest operator
  • Default parameters

Object-oriented JavaScript

  • Functional JavaScript object-oriented JavaScript – Which should I choose?
  • How prototypal inheritance is different to traditional inheritance
  • Classes
  • Constructors
  • get() and set()
  • Classless objects
  • Property shorthands

Understanding execution context

  • How invocation changes “this”
  • call(), apply(), bind()
  • How arrow functions affect context

Variables

  • let, var, and const — When to use each
  • How hoisting works
  • How to control hoisting
  • Destructuring
  • Easy string templates with `${}`

Arrays in JavaScript

  • Typed arrays
  • Iterating arrays
  • for-in vs. for-of
  • The spread operator
  • How to spread arrays
  • Array.prototype.*
  • forEach()
  • reduce()
  • map()
  • filter()
  • some() and every()

Modules with JavaScript

  • How to get it supported in all browsers
  • requireJS
  • import
  • export vs export default
  • IIFEs
  • Library integration

Asynchronous JavaScript

  • Multithreading
  • How the event loop works
  • Promises
  • Async and await

Modern JavaScript with ES2015-ES2018 and beyond

  • TC39 and how JavaScript evolves
  • The newest capabilities of JS
  • Experimental features
  • What’s coming in the future?

Working with the DOM

  • What is the DOM?
  • Querying the DOM
  • Wiring up raw event handlers
  • Altering the DOM for dynamic views
  • Why we’d use Angular, React, Vue

Ajax

  • Making RESTful calls
  • JSON
  • stringify() and parse()
  • XMLHttpRequest
  • The fetch API
FAQs
Is there a discount available for current students?

UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Asynchronous courses are excluded from this offer.

What is the cancellation and refund policy?

Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.

Contact Us