Online angular courses



Estimated release 1 week

Online course with Todd Motto with Todd Motto

Todd is the owner and trainer at Ultimate Angular. JavaScript engineer and Google Developer Expert.

  • Overview, setup and source files

    • 00:23 Course introduction
    • Setup instructions
    • Source files
  • Advanced Components

    • 02:54 Content projection with ng-content
    • 03:10 Using ng-content with projection slots
    • 04:35 Projecting and binding to components
    • 07:32 @ContentChild and ngAfterContentInit
    • 03:44 @ContentChildren and QueryLists
    • 06:09 @ViewChild and ngAfterViewInit
    • 05:12 @ViewChildren and QueryLists
    • 01:49 @ViewChild and template #refs
    • 03:58 Using ElementRef and nativeElement
    • 04:07 Using the platform agnostic Renderer
    • 07:12 Dynamic components with ComponentFactoryResolver Free preview
    • 02:51 Dynamic component @Input data
    • 02:04 Dynamic component @Output subscriptions
    • 02:51 Destroying dynamic components
    • 03:26 Dynamic components reordering
    • 02:50 Dynamic <template> rendering with ViewContainerRef Free preview
    • 03:47 Passing context to a dynamic <template>
    • 01:39 Dynamic <template> rendering with ngTemplateOutlet
    • 02:33 Using ngTemplateOutlet with context
    • 05:43 ViewEncapsulation and Shadow DOM
    • 06:22 ChangeDetectionStrategy.OnPush and Immutability
  • Directives

    • 05:20 Creating a custom attribute Directive
    • 05:34 @HostListener and host Object
    • 03:33 Understanding @HostBinding
    • 05:20 Using the exportAs property with template refs
    • 12:09 Creating a custom structural Directive
  • Custom Pipes

    • 05:26 Creating a custom pipe
    • 04:00 Pipes as providers
  • Reactive Forms

    • 05:59 Reactive Forms setup
    • 08:17 FormControls and FormGroups
    • 13:13 Componentizing FormGroups
    • 08:45 Binding FormControls to <select>
    • 12:17 FormGroup collections with FormArray Free preview
    • 06:38 Adding items to the FormArray
    • 07:08 Removing items from the FormArray
    • 04:11 FormBuilder API
    • 23:21 Http service and joining Observables
    • 07:29 Subscribing to the valueChanges Observable
    • 05:07 Updating and resetting FormGroups and FormControls
    • 08:42 Custom form control base
    • 14:01 Implementing a ControlValueAccessor
    • 08:17 Adding keyboard events to our control
    • 06:44 Validators object for FormControls
    • 09:40 FormControl (custom) validators
    • 09:49 FormGroup (custom) validators Free preview
    • 12:06 Async (custom) validators
  • Routing

    • 01:30 Enabling route tracing
    • 06:09 Subscribing to router events
    • 03:08 Router outlet events
    • 19:53 Dynamic route resolves with snapshots
    • 05:12 Auxiliary named router outlets
    • 04:30 Navigating to auxiliary named outlets
    • 04:07 Auxiliary Navigation API
    • 04:13 Destroying auxiliary outlets
    • 10:58 Resolving data for auxiliary outlets
    • 09:59 Lazy-loading modules
    • 03:01 Preloading lazy-loaded modules
    • 07:15 Custom preloading strategies
    • 09:25 Protecting lazy-loaded modules with canLoad Free preview
    • 05:23 Guards with canActivate
    • 03:03 Guards with canActivateChild
    • 10:25 Guards with canDeactivate
  • Unit Testing

    • 02:58 Karma setup and walkthrough
    • 05:43 Testing isolate Pipes
    • 14:31 Shallow testing Pipes
    • 12:24 Testing Services with dependencies
    • 05:54 Testing Component methods
    • 04:47 Testing @Input and @Output bindings
    • 10:09 Testing Component templates
    • 13:48 Testing container Components with async providers Free preview
    • 02:09 Using NO_ERRORS_SCHEMA
    • 06:35 Testing an Attribute Directive
  • Dependency Injection and Zones

    • 06:12 Providers and useValue
    • 04:01 Using InjectionToken
    • 02:48 Providers and useClass
    • 05:41 Providers and useFactory
    • 04:11 Providers and useExisting
    • 06:27 Configurable NgModules
    • 06:26 Zones and NgZone
  • State Management with Rx

    • Data stores with BehaviorSubject
    • Async Pipe
    • Creating an Observable stream
    • Preserving state with Observable.scan
    • Composing streams with Observable.merge
    • Sequencing streams with Observable.switchMap
    • Stopping streams with Observable.takeUntil
  • Final Project

    • Video names unknown currently, likely 15-20 videos


Learn with Todd Motto, Google Developer Expert, global conference speaker, workshop trainer and creator of the AngularJS styleguide recognised by Google and used by companies such as the New York Public Library, Netflix and Ford Motors.


Get ready to dive deep. This online Angular Pro course will show you how to go beyond the core concepts of Angular, and harness the power that the framework provides by building out our own complex components and directives, whilst looking at new features such as Ahead-of-Time compiling, for superfast apps.

This course will guide you through the depths of Angular, split into sections dedicated for specific learning chapters. Once you’re primed with knowledge to build even more advanced Angular, we’re going to build an application end-to-end, with user authentication, and deploy it.

All Angular code in the course is written in TypeScript.

What you’ll learn

You will learn how to use Angular to solve complex scenarios that exist when writing large, non-trivial applications that need to be totally performant and stable. We will walk through use cases as we use Angular to tackle these scenarios as we not only talk about what we are doing but the underlying reasoning behind the techniques. To get a complete picture of what we will be covering, check out the course outline for each video.

Please note: The course video list may be subject to slight changes until produced, but is a very solid representation of what’s coming.

Todd was born with empathy and a gift for people who are born not knowing this stuff. He's not preaching from the mountaintop, he's down in the trenches, easing our path. I should know this stuff, but countless times I've run across his blog posts and been amazed at how much I learned. In his videos, he condenses his hard-earned knowledge into a time-saving learning process. You can feel that he genuinely wants you to learn, and that makes all the difference.

Sharon DiOrio

Lead UI Engineer, Angular GDE

You truly have a gift. Learned a lot from your blog posts/tweets but hadn't taken your courses until now. Thought I knew Angular 2 basics, but 20 minutes into your videos and I wish I'd taken your course from the start! It's amazing. So clear and simple how you explain things, and how much I've learned and understood in such a short amount of time is unreal! No doubts this is the best possible material on the subject.

Christian Eckenrode

Full Stack Web Developer

Todd is an educator of the highest order. Very few teachers can break down Angular development concepts into such a digestable way. Whether you're a beginner, intermediate, or advanced learner, you will learn techniques from Todd that will be vital to your daily development. If you want to know Angular, take Todd's courses.

Chris Sevilleja


Absolutely fantastic course. Thank you so much for taking the time to pull this together. Self-paced, that goes through one built out solution from beginning to end to explain concepts clearly and concisely. Absolutely fantastic resource to learn the basics of Angular 2. Thank you Todd!

Jacob Cheriathundam

Development Architect

Please keep teaching! Really solid material in here, Todd explains everything really clearly. One big plus from the courses is that you don't build the typical todo list application through the course.

Alejandro Nanez

Senior Front End Engineer

Developers like me are starving for the knowledge you just served up in your new Angular 2 course. I've spent over $1,500 dollars in the last 7 months (over 10 classes and weeks of time) trying to learn what you gave me in a single course. Don’t change the style on any of that, absolutely spot on.

Chris Milford

Tech Lead, Tata Consultancy Services

Todd is by far the best Angular master I've ever seen. The way Todd structures his courses, the quality and the way he explains them make the courses really incredible. He has given me the tools and knowledge necessary to build and maintain complex and professional Angular applications.

Juan Henriquez

JavaScript Engineer

An impressive instructor with great ability to communicate his knowledge. Updated and quality content. Unbeatable support. Totally recommended!

Francisco Reyes

Fullstack Engineer