
This free course is a step-by-step beginner-friendly introduction to the Angular framework, taught entirely using the modern signal-based approach.
This Course In a Nutshell
There is a lot to learn about Angular, which can be daunting if you are just starting out. But the good news is that some parts of the framework are used far more often than others — in Angular you will be using 10% of the features maybe 90% of the time.
If you are going to learn Angular, why not focus first on the features you will be using constantly, and leave the more advanced parts for later in your learning process?
That is exactly what this course does. It covers that 10%, in the order that makes it easiest to learn, and nothing else.
Course Overview
This course teaches Angular as it is written today. You will learn signals, the built-in template control flow, signal-based inputs and outputs, and how to fetch and update data from a server. There is no legacy syntax to unlearn afterwards.
Just as importantly, every lesson builds only on the lessons before it. There are no forward references, no "we will explain this later", and no concept introduced before you have a reason to care about it. You will spend the first half of the course displaying data, so that components, templates, inputs, outputs, control flow and pipes are each learned on their own. Then, once all of that is familiar, you will learn how to make it change.
We start by installing the tooling and taking a look at what the Angular CLI generates for a new project. From there you clone the course repository, which holds the finished stylesheet, the static HTML for every part of the screen, and a small backend serving the course data — and no Angular code at all beyond an empty root component. Not a minute is spent on CSS, and every line of Angular in the finished application is one you wrote.
Topics Covered
This course covers the following topics:
Components with @Component — selectors, templates and how they nest
Generating components with the Angular CLI
Displaying data with interpolation and property binding
Handling user events and $event
Component styles
Signal inputs with input() and input.required()
Custom events with output()
Template control flow: @if, @else, @for, @empty, @switch
Understanding track, and why Angular requires it
Conditional CSS with class bindings, and style bindings for calculated values
Formatting values with built-in pipes such as currency and uppercase
Signals: signal(), set(), update() and computed()
Zoneless change detection — how Angular knows what to re-render
Fetching data with HttpClient, with loading and error states held in signals
Sharing data and logic with @Service() and inject()
Running code when a component starts with ngOnInit()
Updating data on the server with an HTTP PUT
What Will You Learn In this Course?
This course gives you a practical, hands-on introduction to Angular. By the end you will be able to build your own components, display and format data, react to what the user does, fetch and modify data from a backend, and share logic across an application.
Just as valuable, you will be comfortable opening an existing Angular codebase and finding your way around it, because everything in this course is what you will find in that codebase.
Prerequisites
You need to know HTML, CSS and basic JavaScript. That is all.
You do not need any previous Angular experience, any knowledge of RxJs or Observables, or any TypeScript beyond what is explained as it comes up.
The course uses exactly one function from RxJs — firstValueFrom, which turns Angular's HTTP call into a Promise you can await. It is explained in one paragraph where it first appears, and nothing else about Observables is needed.
Who Is This Course For?
Developers learning Angular for the first time
Developers coming from another framework who want the shortest path to being productive in Angular
Developers who learned Angular a few years ago and want to see how much has changed
Have a look at the course free lessons below, and please enjoy the course!