Angular Fundamentals | 31 Jan - 2 Feb | Online

Angular Fundamentals: Course Overview

Angular is a web app development platform with a mature development history. It offers a component-driven approach to UI development, performance that improves with each release, a mobile-oriented outlook and static type checking with Typescript.

The course takes you through the fundamentals of Angular, focusing on concepts while bringing them down to earth with many practical lab exercises and demos.

Angular Version

The latest release version of Angular is taught. As of November 2021, this is Angular 12.

Learning Outcomes

On completion of this course you will:

  • Have gained a conceptual understanding of Angular and how to structure an app
  • Understand what Typescript brings and how to integrate it into your build process
  • Understand Angular’s component-based development approach and how to use it to think differently about building apps
  • Have built some Angular apps


This course will be delivered in 3 days.

Teaching Approach

This course is hands-on and interactive. Each module will first introduce concepts with a talk and demonstrations. Then we will have exercises to ground those concepts in practical work. I will keep an eye on how everyone is doing, and I will look at your code so you can get some feedback. Ask questions at any time.

Who should attend this course

Attend this course if you:

  • have front-end development experience and need to understand Angular;
  • are transitioning from another platform or language (eg server-side Java, or jQuery) to front-end development with Angular;
  • are a QA or tester who needs to understand front-end development with Angular;
  • are new to front-end development;
  • need to understand the technology for a role such as build management and CI/CD, or UX.


Attendees need to be familiar with programming in languages such as Java, Python, C# or JavaScript. No prior Angular experience is needed, and we will cover the fundamentals of TypeScript.

Course Outline

What’s Angular?

  • SPAs
  • Angular Introduction
  • Benefits of Angular
  • Application Structure and Building Blocks
  • Seed Projects and Angular CLI
  • Angular APIs

Getting Started with Angular

  • Minimal Hello World
  • Using Angular CLI to Scaffold a Project

Typescript Primer

  • Why Typescript?
  • Type Annotations
  • Declarations and Declaration Files
  • Identifiers
  • Operators
  • Types and Type Inference
  • Type Compatibility
  • Defining Classes and Interfaces and using Inheritance
  • Access Modifiers
  • Generics
  • Enum
  • Functions
  • Decorators
  • Duck Typing
  • Constants


  • Views and Templates
  • Template Syntax
  • Data Binding
  • Component Metadata
  • Building a Simple Component
  • Building a Top-Level Component
  • Adding Child Components
  • Component Lifecycle

Built-in Components

  • Using the Built-in Components

HTTP and Services

  • Using @angular/common/http
  • Retrieving data from a server


  • Why Routing?
  • Client-side Routing Mechanisms
  • The Angular Router
  • Configuring Routes
  • Router Outlet
  • Router Links
  • A Simple Application using Routes
  • Route Parameters
  • Optional Route Parameters
  • Accessing Router State
  • Animating Transitions


  • FormControls and FormGroups
  • Building a Form
  • Using FormBuilder
  • Adding Validation


  • Modules
  • Module Metadata
  • Angular modules vs JavaScript modules
  • Root Module
  • The Bootstrap Process
  • Feature Modules
  • Lazy Module Loading

Dependency Injection and Services

  • Why Dependency Injection (DI)?
  • DI in Angular
  • Working with Injectors
  • DI and Providers
  • Using NgModule
  • Defining a Service
  • Injecting the Service


  • Introducing Pipes
  • Built-in Pipes
  • Pipe Parameters
  • Writing a Custom Pipe
  • State and Change Detection


  • Using Augury
  • Development Mode vs Production Mode
  • Inspecting Component State
  • Invoking Change Detection Manually


  • Deployment Options
  • Build Process and Toolchain
  • Enabling Prod Mode
  • Module Loaders
  • Bundling and Templates
  • Managing CSS


  • Unit Testing vs End-to-End Testing
  • Testing Tools: Jasmine, Karma
  • The Angular testing utilities
  • Debugging Tests
  • Using Test Doubles


Delivery: Online (live)
Level: Foundation
Course Dates : 31 Jan - 2 Feb
Day & Time:
Week Days
Starts: January 2022
Duration: 3 days

Public discussion (0)

You must log in to send a new comment.