3 arrows

Summer-Ready Savings: Up To $500 Off Training 


Mastering Angular

  • Tuition USD $2,595 GSA  $2,262.47
  • Reviews star_rate star_rate star_rate star_rate star_half 4119 Ratings
  • Course Code TT4168
  • Duration 5 days
  • Available Formats Classroom, Virtual

Geared for experienced web developers new to Angular, Mastering Angular is a comprehensive hands-on foundation course that explores the latest Angular features and advances, demonstrating how to solve the traditional challenges of JavaScript web application development. Students will build custom components, using application routes, form validation, and unit-testing. The course starts with an introduction of Angular CLI and TypeScript. It then delves into component-driven development with Angular components, covering data-binding, directives, services, routing, HTTP, the RxJS library, forms unit testing, and REST. Students will also learn how to add authentication, use the Material library, learn the NgRX design pattern to implement the NgRX store, make custom directives, enhance their application with animations, write an E2E test, and increase their application's efficiency by lazy loading modules and creating their own Angular library. Angular is one of the most popular JavaScript frameworks for creating web and native mobile applications by implementing several features and capabilities:

  • Single Page Applications (SPAs) load a single HTML page that is dynamically updated based on user interaction. SPAs can communicate with the server-side to load data into the application without a full-page refresh.
  • Two-way data binding means that when the data store updates, the UI is immediately updated.
  • Modules divide code into reusable parts with related components, directives, pipes, and services grouped together and can be combined with each other to create an application.
  • Angular uses a dependency injection design pattern for services, increasing code efficiency and modularity.
  • Thanks to Angular's Model-View-* architecture enforcing the Single Responsibility Principle (SRP) and Don't Repeat Yourself (DRY) techniques, coding is reduced into the smallest pieces possible.
  • The declarative user interface means the presentational logic in HTML is separated from the imperative logic and Angular binds the data together.
  • Angular is also easily integrated into other frameworks, such as Ionic.

Skills Gained

Working within in an engaging, hands-on learning environment, guided by our expert team, attendees will learn to:

  • What Angular is and why should you use it
  • How Angular reduces the amount of code that you must write to add rich functionality to both existing and new web pages
  • What TypeScript is, why it is useful, and how to use it with Angular
  • How to facilitate development and deployment using Angular CLI
  • How to work with the various aspects of the Angular architecture to implement clean, responsive web interfaces
  • How Routers can support navigation within a Single Page Application
  • What the best practices are for using Angular so that it works unobtrusively and performs well
  • How to use Angular with HTTP to support JSON, REST, and other services
  • Working with the Ahead of Time compiler including its impact of developers and the development process
  • How to defend against DOM-based XSS
  • How to manage routing decisions based on pre-defined criteria such as a successful authentication
  • How to meet huge data requirements by processing asynchronous data streams with RxJS
  • Simplify server-side rendering
  • How to facilitate unit testing
  • Enhance an Angular user interface with animations and other advanced features
  • Optimize Angular applications with various tools and techniques
  • Maintain state within an Angular application

Who Can Benefit

Experienced web developers with prior HTML5, CSS3, and JavaScript experience.


This is an introductory-level course geared for experienced web developers. Icoming attendees are required to have current, hands-on experience in developing basic web applications, and be versed in HTML5, CSS3 and JavaScript. Take Before: Attendees should have experience with the topics in the following courses, or should have recently attended these as a pre-requisite:

  • TT4650 Web Essentials: HTML5 / CSS3 & JavaScript

Course Details

Detailed Course Syllabus

Session: Getting Started with Angular

Lesson: Overview of Angular Architecture

  • Angular Versioning
  • Model-View-*
  • Data Binding
  • Components and Dependency Injection
  • Services and Events
  • Common Component Lifecycles and Hooks

Lesson: TypeScript

  • Angular, ES6 and TypeScript
  • Transpilers
  • Typing and Classes
  • Abstract Classes and Interfaces
  • Annotations
  • Exercise: Angular and ES6
  • Exercise: Angular and TypeScript

Lesson: Bootstrapping with Angular CLI

  • Angular CLI Overview
  • New Projects with CLI
  • Testing and Generating with CLI
  • Angular Console

Lesson: Angular Project Structure

  • Configuration Files
  • Top-Level Directories
  • Contents of app folder
  • Lab: Creating Projects with Angular CLI

Session: Working with Angular

Lesson: Components and Events

  • Data Binding and Components
  • Event Binding
  • Custom Events
  • Parent/Child Events
  • EventEmitter/emit()
  • Lab: Nested Components

Lesson: Third Party Libraries

  • Angular and the Need for Libraries
  • Options for adding Libraries
  • Working with npm install
  • Working with angular.json
  • ng2 Wrappers
  • Lab: Third-Party Libraries

Lesson: Dynamic Views

  • View Encapsulation
  • Structural/Attribute Directives
  • Conditional Styling
  • Lab: Working with Directives

Lesson: Pipes

  • Overview of Pipes
  • Built-in Pipes
  • Formatting and Conversions
  • Parameterizing Pipes
  • Pure vs. Impure Pipes
  • Customizing Pipes
  • Lab: Built-in and Custom Pipes

Session: Angular Forms

Lesson: Forms and the Forms API

  • Forms and NgModel
  • NG Form Groups
  • NG Form Validation
  • Model-Driven Reactive Forms
  • FormBuilder API
  • Reactive Form Validation
  • Lab: Template-Driven Forms
  • Lab: Reactive Forms

Session: Single Page Applications and Routes

Lesson: Single Page Applications

  • Overview of the SPA Concept
  • Routing for Page Display
  • Working with ActivatedRouter
  • Location Strategies
  • Nested Routes
  • Lab: Routing

Lesson: Services and Dependency Injection

  • Angular’s DI Framework
  • Components and Injectables
  • Tree-shakeable providers
  • Service Interfaces and DI
  • Constructor Injection
  • Lab: Services

Lesson: Modules

  • Overview of Modules
  • Feature Modules
  • Feature Module Routing
  • Shared Modules
  • Lab: Modules

Session: Using RESTful Services

Lesson: Overview of REST

  • REpresentational State Transfer
  • REST and HTTP
  • REST/HTTP: Representation-Oriented
  • REST Design Principles

Lesson: Angular and REST

  • REST in Angular
  • Promises, Observables, Subject
  • HttpClient and Observables
  • async Pipes and HttpClient Interceptors

Session: Angular Best Practices

Lesson: Angular Style Guide

  • Recent Angular Improvements
  • Upgrading Angular
  • Single Responsibility Principle
  • Naming Conventions
  • Coding Conventions
  • Application Structure
  • Routing

Lesson: Taking the Next Step with Angular

  • Reactive Programming in Angular
  • Angular and Security
  • Further Enhancing the Interface
  • Testing Angular Applications
  • Optimizing Angular for the Enterprise
  • Maintaining State in Angular

Session: Reactive Programming in Angular

Lesson: Working with RxJS

  • Working with RxJS in Angular
  • RxJS Operators
  • Filtering, Combining, and Mathematical Operators
  • Callback Operators
  • Lab: Working with a REST API and RxJS

Session: Security and Authentication

Lesson: DomSanitizer

  • Defending Against XSS
  • Trusting Values with the DOMSanitizer

Lesson: JSON Web Tokens

  • Backend Authentication and SPA
  • Using JSON Web Tokens (JWT)
  • Firebase and JWT

Lesson: Route Guards

  • Overview of Route Guards
  • Route Guard CanActivate
  • Using in a Service
  • Lab: Authentication and Route Protection

Session: Enhancing the Angular App

Lesson: Angular Animations

  • Triggers, States and Styles
  • Transitions
  • Using Animations
  • Keyframes and Animations
  • Lab: Angular Animations

Lesson: Angular Material

  • Gesture Support
  • Material Icons and Components
  • Materials Themes
  • Custom Themes
  • Lab: Angular Material

Lesson: Angular Elements

  • Angular Elements Overview
  • Building a Custom Element Using Angular Elements
  • Converting into Custom Elements

Session: Deep Dive into Angular

Lesson: Testing and Angular

  • Testing Dependencies
  • Options for Testing in Angular
  • Karma
  • Jasmine
  • Protractor
  • E2E
  • Lab: Unit Testing and Debugging

Lesson: Deep Dive into Components and Directives

  • Implementing View Encapsulation
  • Content Management
  • Custom Attribute Directives
  • Listening to Host Events
  • Binding to Host Properties
  • Lab: View Child

Lesson: Deep Dive into Services and Dependency Injection

  • Hierarchical Injectors
  • Optional Dependencies
  • Host and Visibility

Session: Optimizing for the Enterprise

Lesson: Improving Performance with Ivy

  • Overview of Ivy
  • Incremental DOM and Ivy Pipes
  • Pre-compiling code with Ivy
  • Overview of Angular Universal
  • Improving User Experience with Universal
  • Pre-rendering the App on the Server

Lesson: Lazy Loading

  • Module Lazy Loading
  • Route Configuration for Lazy Loading
  • When to Preload

Lesson: Optimizing with Universal

  • Overview of Angular Universal
  • Improving the User Experience
  • Pre-rendering on the Server

Lesson: Creating Your Own Angular Library

  • Creating an Angular Library
  • Working with Angular CLI to Build the Library
  • Using the Library
  • Lab: Creating and Deploying a Library

Session: Maintain State with NgRX

Lesson: NgRX Store

  • Overview of NgRX Store
  • Actions and Reducers
  • Selectors
  • Effects
  • Lab: Maintain State with NgRX
  • Lab: NgRX for an Enterprise Application

Session: Additional Angular Topics (Time Permitting)

Lesson: ES6+

  • ES6 Classes and Modules
  • ES6 Arrow Functions and Array Methods
  • ES6 Template Literals
  • ES6 Spread Operator, Rest Parameter and Destructuring
  • Lab: Deep Dive into Object-Oriented ES6+

Lesson: Sass and SCSS for Angular and Material

  • Variables
  • Nesting
  • Partials
  • Import
  • Mixins
  • Extend/Inheritance
  • Operators

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.

It is very good and very simple instructions. almost to much hand holding.

Classromm confortable and enviroment. Instructir knowlegeable of course matarial but need to align to students working in the Canadian Federal Govt. ve US Federal govt.

The platform is very intuitive and easy to navigate. Great tool for learning

Simply great training provider that I can go for updating/acquiring my skill sets.

This is my second course with ExitCertified. This course exceeded my expectations. The teacher was great and the class was fun.

4 options available

  • Aug 23, 2021 Aug 27, 2021 (5 days)
    10:00 AM 6:00 PM EDT
    SAVE on this course -  Promo Code: SUMMER500
  • Oct 4, 2021 Oct 8, 2021 (5 days)
    10:00 AM 6:00 PM EDT
  • Nov 15, 2021 Nov 19, 2021 (5 days)
    10:00 AM 6:00 PM EDT
  • Dec 13, 2021 Dec 17, 2021 (5 days)
    10:00 AM 6:00 PM EDT
Contact Us 1-800-803-3948
Contact Us
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward