3 arrows

Summer-Ready Savings: Up To $500 Off Training 


Advanced Angular

  • Contact Us For Pricing
  • Reviews star_rate star_rate star_rate star_rate star_half 4119 Ratings
  • Course Code ACCEL-ANGL-ADV
  • Duration 2 days
  • Available Formats Classroom

Take your skills to the next level with Accelebrate's Advanced Angular training. Students gain an understanding of application architecture and design best practices in Angular, as well as learn how to authenticate, unit test, and manage application state in an Angular application.

  • This course is appropriate for all versions of Angular since version 2 and is current through Angular 9.

Skills Gained

All students will:

  • Unit test all parts of an application including Components, Services, and Pipes
  • Understand RxJS and Observables and where they can be used
  • Implement Authentication and Authorization in an Angular Application
  • Optimize Angular Performance by changing Change Detection Strategies
  • Setup new projects from scratch using the Angular CLI
  • Scaffold modules, components, services, models, routes, and unit tests in accordance with best practices using the Angular CLI
  • Build and deploy an application to production using the Angular CLI
  • Write End-to-End Tests (optional; taught only if this applies to your group)
  • Upgrade an existing application from AngularJS to Angular 9 (optional; taught only if this applies to your group)


Students should have taken Accelebrate's Introduction to Angular 7 class or have the equivalent experience.

Course Details

Software Requirements

  • Google Chrome
  • Other modern browsers as desired
  • IDE/development environment of your choice
  • Other free software and lab files that Accelebrate would specify

Angular Training Outline


Unit Testing

  • Tools: Jasmine, Karma
  • Jasmine Syntax: describe, it, beforeEach, afterEach, matchers
  • Setup and your First Test
  • Testing Terminology: Mock, Stub, Spy, Fakes
  • Angular Testing Terminology: TestBed, ComponentFixture, debugElement, async, fakeAsync, tick, inject
  • Simple Component Test
  • Detecting Component Changes
  • Testing a Component with properties (inputs) and events (outputs)
  • Testing a Component that uses the Router
  • Testing a Component that depends on a Service
  • Testing a Service and Mocking its HTTP requests
  • Testing a Pipe

RxJS and Observables

  • What is an Observable?
  • Creating Observables
  • What is an Observer?
  • Observer Example
  • Operators: map, switchMap, debounceTime, distinctUntilChanged
  • Practical Application of using RxJS
  • Subject
  • Subject Example
  • EventEmitter or Observable


  • Best Practices
  • Preventing Cross-site Scripting (XSS)
  • Trusting values with the DOMSanitizer
  • HTTP Attacks (CSRF and CSSI)
  • Authentication using JSON Web Tokens (JWT)
  • Authorization: Router Guards

Change Detection

  • Understanding Zone.js and Change Detection
  • Change Detection Strategies Default and OnPush

Advanced Angular CLI

  • Customizing a build using Builder APIs in the CLI
  • Generating web workers

Advanced Routing

  • Lazy-loading Angular Modules (using Dynamic Imports)
  • Nested or Child Routes

Advanced Routing

  • Lazy-loading Angular Modules
  • Nested or Child Routes

Advanced Dependency Injection

  • Providers
  • Hierarchical Injection
  • providedIn options: root, module, platform, any


  • Creating a custom Pipe using PipeTransform
  • Understanding Pure and Impure Pipes


Additional Topics

npm QuickStart

  • Installing Dependencies
  • Understanding package.json and package-lock.json
  • Using npm as a Build Tool

Managing Shared Application State using ngrx and Redux

  • Benefits Overview
  • Three Principles of Redux: Single Source of Truth, State is Read-Only, Pure Functions
  • Examples of Pure Functions
  • Reducers
  • Simple ngrx Example
  • Time-traveling with Redux Devtools
  • Full ngrx Example Application

Upgrade Strategies from AngularJS

  • High-level Approaches
  • Concept Mapping AngularJS to Angular
  • UpgradeAdapter
  • What can be Upgraded or Downgraded
  • What cannot be Upgraded or Downgraded
  • UpgradeAdapter and Dependency Injection

End-to-End Testing

  • What is Protractor?
  • Why Protractor?
  • Using Locators
  • Page Objects
  • Debugging E2E Tests

When does class start/end?

Classes begin promptly at 9:00 am, and typically end at 5:00 pm.

Does the course schedule include a Lunchbreak?

Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.

How can someone reach me during class?

If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does ExitCertified deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

Does ExitCertified deliver group training?

Yes, we provide training for groups, individuals, and private on sites. View our group training page for more information.

Class was easy to sign up for and ExitCertified provided very good communication

Great company -- easy to sign up and very organized. Loved my teacher and class overall.

The exit certified aws course provided a good introduction to the tools available on aws.

This was effective way to provide a ton of information in a short time period.

Very good material, the instructor was clear explaining the topics, and the labs were easy to follow it.

0 options available

There are currently no scheduled dates for this course. If you are interested in this course, request a course date with the links above. We can also contact you when the course is scheduled in your area.

Contact Us 1-800-803-3948
Contact Us
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward