Learn the fundamentals of Angular and set your career path in one of the in-demand professions of the decade.
This course includes the fundamental angular programming techniques such as Components, Directives, Services, Forms, Http Access, Authentication and App Optimization
This course will also show you how to use the Angular CLI and feature a complete project, which allows you to practice the things learned throughout the course
By the end of this course, participants will be able to create angular projects from scratch all on their own
Duration
5 days / 40 hours
Level
Beginner to Intermediate
Delivery
100% Online - Instructor Led
Request For Information
Key Features
- 40 hours of instructor led training
- Fully Online
- Class recording available
- Interactive Learning
- 8 hour Coaching Session
- 100% HRDF SBL-KHAS Claimable!
Pre-Requisites
- Basic Programming Knowledge
- Analytical Mindset
- Willingness to self learn online
- No prior experience is required
- We will start from the very basics
- Committed to complete all tasks
Who Should Join
- Professional switching careers
- Web Developers
- IT Engineers
- Students
- New Programmers
- Anyone interested in Angular
Key Learning Outcomes
Upon completion, participants should be able to demonstrate each of the following outcome:-
- Develop modern, complex, responsive and scalable web applications with Angular
- Fully understand the architecture behind an Angular application and how to use it
- Use the gained knowledge of Angular fundamentals to quickly establish yourself as a frontend developer
- Create single-page applications with one of the most modern JavaScript frameworks out there
- Build real-world Angular applications on your own
- Troubleshoot common Angular errors
- Master the essential Angular concepts
- Understand the file and folder structure of an Angular application
Core Skills Areas Covered
Object-Oriented Programming
Dependency Management
Data and Event Binding
Error Handling
Single Page Applications
Subscribe to our newsletter – and be first to get all the updates on our upcoming programmes and industry insights.
We don’t share your information or spam you. Unsubscribe anytime.
Course Modules Covered in the Angular program
Day 1 - Introduction to "Modern (ES5)" JavaScript, Functional Programming, Object Oriented Programming - OOP, Built-in Objects, Error Handling, The JavaScript Repository
Introduction to "Modern (ES5)" JavaScript
- Basic language features
- JavaScript types: Number, String, Boolean
- Variable declaration using let
- Operators – arithmetic, assignment, comparison
- Decision Making – if, else, switch case, double equal ==, triple equal ===
- Loops – for, while, do ... while
- Arrays, iterating arrays using for … in
Functional Programming
- Functions
- Returning functions
- Parameterized functions
- Default function parameters
- REST parameters
- Anonymous functions and IIFE
- Function constructor
- Lambda functions
- Lambda statement
- Lambda expression
- Function hoisting
- Generated functions
Object Oriented Programming - OOP
- Java Script Objects
- Object creation – Literal method, Using Object, Function constructor
- Properties, Methods
- Comparing Objects
- Object de-structuring
- JavaScript call, apply and bind
- Class
- Creating Objects
- Constructor
- Inheritance
- Method Overriding
Built-in Objects
- String
- Date
- Math
- Collections – Map, Set
- Promise
- Importing a module
- Exporting a module
Error Handling
- Syntax Errors
- Runtime Errors
- Logical Errors
- Throwing Exceptions
- Exception handling
- Custom Errors
- Node Projects
The JavaScript Repository
- Node Package Manager (NPM)
- Creating a JavaScript project
- The package.json configuration file
- Installing Packages Global
- Installing Packages Locally
- Adding dependency in package.json
- Scripting through package.json
- Webpack Project
Day 2 - Introduction to TYPESCRIPT, Introduction to Angular, Building with Components
Introduction to TYPESCRIPT
- Overview
- Environment Setup
- Basic Syntax
- Types, Variables and Operators
- Decision Making and Loops
- Functions and Lambda Expressions
- Generics
- Enums
- Number and Strings
- Arrays
- Tuples
- Union
- Interface, Classes and Objects
- Namespaces
- Modules
- Ambients
- Decorators
- Mixins
Introduction to Angular
- Why Angular 7
- Angular 7 Features
- Installing and Using Angular 7
- Creating the first Angular Project
- Architecture Overview
- What is new in Angular 7
- Summary
Building with Components
- Introducing the component
- Component Decorator Properties
- Template
- Inline Template
- Interpolation – Plain text, Object and Array
- Adding CSS
- Component Starter
- Integrating Bootstrap
- Developing a Header Component
- Developing a Footer Component
- Developing a Product Component
- Summary
Day 3 - Data and Event Binding, Attribute Directive, Structural Directives, Template Driven Forms, Reactive Forms
Data and Event Binding
- Binding Syntax
- One-Way Output Binding
- Property binding
- Attribute binding
- Binding Events
- Binding Events Examples
- Setting Element Properties
- Setting Properties: Examples
- Two-Way Binding of Input Fields
- Input Binding Examples
- Summary
Attribute Directive
- What are Directives
- Directive Types
- Apply Styles by Changing Classes
- Changing Classes – Example
- Applying Styles Directly
- Applying Styles Directly - Example
- Obsolete Directives and Property Binding
- Controlling Element Visibility
- Setting Image Source Dynamically
- Setting Hyperlink Source Dynamically
- Summary
Structural Directives
- Adding and Removing Elements Dynamically
- Looping Using ngFor
- ngFor - Basic Syntax
- ngFor - Full Template Syntax
- Creating Tables with ngFor
- ngFor Local Variables
- ngFor Changes in the backing data source
- Swapping Elements with ngSwitch
- ngSwitch - Basic Syntax
- ngSwitch - Full Template Syntax
- Summary
Template Driven Forms
- Note on Deprecated Forms APIs
- A Basic Angular Form
- Binding Input Fields
- Accessing the Form Object
- Binding the Form Submit Event
- The Submit Function
- Basic HTML5 Validation - "required" Attribute
- HTML5 vs. Angular Validation
- Angular Validators
- Angular Validation State
- Displaying Form Validation State
- Displaying Field Validation State
- Displaying Validation State Using Classes
- Disabling Submit when Form is Invalid
- Submitting the Form
- Binding to Object Variables
- Additional Input Types
- Checkboxes
- Select(drop down) Fields
- Rendering Options for Select (drop down)
- Date fields
- Radio Buttons
- Summary
Reactive Forms
- Introduction
- Registering the reactive forms module
- Generating a new form control
- Registering the control
- Managing control values
- Grouping form controls
- Creating FormGroup
- Associating the FormGroup model and View
- Saving form data
- Displaying the component
- Creating nested form groups
- Grouping the nested form in the template
- Partial model updates
- Generating form controls with FormBuilder
- Injecting the FormBuilder service
- Generating form controls
- Simple form validation
- Dynamic controls using form arrays
Day 4 - Services and Dependency Injection, RxJS and Observables, HTTP Client, Introduction to Single Page Applications
Extract data from Website - Beautiful soup
- What is a Service?
- Creating a Basic Service
- What is Dependency Injection?
- What Dependency Injection Looks Like
- Injecting Services
- Using a Service in a Component: Dedicated Instance
- Using a Service in a Component: Dedicated Instance - Example Code
- Using onInit to Initialize Component Data
- Using a Shared Service Instance
- Dependency Injection and @Host
- Dependency Injection and @Optional
- Summary
Selenium IDE
- What is an Observable?
- Observable Operators
- Creating Observables Using Static Operators
- What is an Observer?
- Observer Example
- Subject
- Subject Example
- EventEmitter or Observable
Selenium Webdriver
- The Angular HTTP Client
- Using The HTTP Client - Overview
- Setting up HTTP_PROVIDERS in the Root Component
- Importing Individual Providers into Services
- Service Using Http Client
- Service Imports
- The Observable object type
- What does an Observable Object do?
- Making a Basic HTTP GET Call
- Using the Service in a Component
- The PeopleService Client Component
- Client Component Code Review
- Importing Observable Methods
- Enhancing the Service with .map() and .catch()
- Using .map()
- Using .catch()
- Using toPromise()
- GET Request
- GET Request with Options
- POST Request
- POST Request Example
- Reading HTTP Response Headers
- Summary
Python for Data Analysis – NumPy
- What is a Single Page Application (SPA)
- SPA Workflow
- Traditional Web Application Capabilities
- Single Page Application Advantages
- SPA and Traditional Web Sites
- SPA Challenges
- Implementing SPA's Using Angular 4
- Simple SPA Using Visibility Control
- SPA Using Angular Components
- SPA with Angular Components - Switching
- SPA with Angular Components - The Displayed Component
- Implement SPA Using an Angular Component Router
- Summary
Day 5 - Pipes and Data Formatting, The Angular Component Router, Angular Animations, Build and Dependency Management
Pipes and Data Formatting
- What are Pipes?
- More on Pipes
- Using a Built-in Pipe
- Built-In Pipes
- Using Pipes in HTML
- Chaining Pipes
- Using Pipes in JavaScript
- Some Pipe Examples
- Decimal Pipe
- Currency Pipe
- Custom Pipes
- Using Custom Pipes
- A Filter Pipe
- A Sort Pipe
- Pipe Category: Pure and Impure
- Pure Pipe Example
- Impure Pipe Example
- Summary
The Angular Component Router
- Routing and Navigation
- The Component Router
- Traditional Browser Navigation
- Component Router Terminology
- Setting up the Component Router
- Local URL Links
- Browser pushState and
- Routes
- The app.routes.ts File
- Bootstrapping Routing in Main.ts
- A Basic App With Routing
- App Routes
- App Component
- Programmatic Navigation
- Basic Navigation
- Passing Data During Navigation
- Creating Routes with Route Parameters
- Navigating with Route Parameters
- Using Route Parameter Values
- Retrieving the Route Parameter Synchronously and Asynchronously
- Query Parameters
- Query Parameters - queryParams
- Query Parameters - Navigation
- Retrieving Query Parameters Asynchronously
- Problems with Manual URL entry and Bookmarking
- Fixing Manual URL entry and Bookmarking
- Summary
Angular Animations
- Introduction
- Animating a simple transition
- Animation state and styles
- Transitions and timing
- Triggering the animation
- Using wildcard state with multiple transition states
- Animating entering and leaving a view
- Multiple animation triggers
- Animation callbacks
- Complex animation sequences
- Parallel animation using group() function
- Sequential vs parallel animations
- Reusable animations
- Route transition animations
Build and Dependency Management
- Introduction
- Bower Package Manager
- Managing Packages Using Bower
- Using Bower Packages
- Grunt Build Manager
- Installing Grunt Components
- Writing a Grunt Build Script
- Running Grunt
- Running JSHint Task
- Compiling Less Files
- Compressing CSS Files
- Gulp Build Manager
- Gulp vs. Grunt
- Installing Gulp Components
- Writing a Build Script
- Running Gulp
- Compiling Less Files
- Summary
Our Training Methodology
Practical Assignments
We provide hands-on assignments that requires practical implementation.
Virtual Coaching Sessions
Online coaching sessions that happen over the phone, via video, or on a web platform.
1 Year Access to LMS
Get access to learning resources upto 1 year of class completion.
Live Project Experience
Hands-on learning and training gives participants the opportunity to experience real world situations.
Online Assessments
Participants can assess reflect on their own learning and their level/skills.
Free Industry Webinars
Stay current on market research trends, learn best practices through our webinar sessions.
Your Instructor
Thayanithy Jegan
CTO & Co-Founder of Thulija Technologies,
Certified Trainer and Consultant
Certified Trainer and Consultant
A seasoned technology professional with over 17 years of industry experience as a software developer, solutions architect and technology consultant for major organizations.
Thayanithy Jegan has trained executives and developers in companies such as Maxis, IFCA, SWIFT, PSDC, DHL, Standard Chartered, Infineon Technologies, Siemens and Bank Negara to name a few to break into various technology stacks and as well as data science, big data, and artificial intelligence.
He has led major projects with clients such as Suruhanjaya Syarikat Malaysia (SSM), MYCOID, Kementerian Kerja Raya, Ministry of Education (MOE), Universiti Malaya, Perfisio Solutions, Kementerian Perdagangan Antarabangsa dan Industri, amongst others. He has also served as a Consultant for MIMOS Berhad, a Research and Development organisation that functions as an advisor to the Malaysian Government on technologies, policies and strategies relating to IT.
Program Key Highlights
40 hours of Remote Online Learning
80 Additional Self Learning Hours
12 Live Hands-on Projects
Certified by International Body
Mentorship with Industry Experts
Designed for Beginners & Professionals
Request For Information
Get Professionally Certified
Upon successfully completing this program, participants will be awarded the Professional Certification in Python Data Science by International Council for Technology Certifications (ICTC).
This award is a validation to the efforts taken to master the domain expertise that will set you apart from your competition.
Be a part of the global network of data science professionals and join the community across sectors.
Get in Touch With Us Today!
This training program is suitable for anyone who intends to enter into the field of Software Development. This program is being conducted in Malaysia and can be joined by anyone, anywhere in the world remotely.
Program Fee
RM 3,700.00
One-time fee. One year access to course materials.
READY TO KICKSTART YOUR CAREER?
Please fill in the form and a Program Advisor will reach out to you. You can also reach out to us at info@thulija.com or +60123661502
Contact us on Whatsapp for more enquiries