• Basics of HTML and CSS
o HTML tags, elements, attributes
o CSS fundamentals: styling, layout, positioning
o CSS Flexbox and Grid basics
• JavaScript Essentials
o Variables, data types, operators
o Functions, control flow, and loops
o DOM manipulation and events
• ES6+ Syntax and Modern JavaScript Features
o Arrow functions, template literals, destructuring
o Promises, async/await, modules
• Advanced JavaScript Concepts
o Closures, scope, and hoisting
o Prototypes, inheritance, and the this keyword
o Asynchronous programming and handling APIs (fetch, async/await)
• Basic TypeScript Introduction (optional but helpful for Angular)
o Understanding types and interfaces
o Classes and basic OOP principles in TypeScript
• Introduction to Angular Framework
o What is Angular, and why use it?
o Installing Angular CLI and creating a new Angular project
• Angular Project Structure and Core Concepts
o Components, Modules, and Templates
o Angular Data Binding (Interpolation, Property, and Event Binding)
o Directives (Structural and Attribute Directives)
• Dependency Injection and Services
o Understanding Angular’s DI system
o Creating and using services to manage data across components
• Component Interaction and Lifecycle
o Component lifecycle hooks (ngOnInit, ngOnDestroy, etc.)
o Input and Output properties for component communication
• Angular Forms
o Template-driven forms: structure, validation, and form submission
o Reactive forms: creating and managing complex forms with FormBuilder
• Routing and Navigation
o Setting up and configuring Angular Router
o Nested routes and parameterized routes
o Route guards for authentication and authorization
• State Management with NgRx or Services
o Introduction to Redux principles and NgRx basics
o Managing application-wide state with services (if skipping NgRx)
• HTTP Client and Observables
o Making API calls with HttpClient
o Handling Observables and RxJS operators (map, filter, switchMap)
• Optimizing Angular Applications
o Lazy loading modules and code splitting
o Angular change detection strategies
o Performance tips and best practices
• Introduction to Angular Material or Tailwind CSS for Angular
o Setting up and using Angular Material components
o Customizing Angular Material themes
o Responsive design tips and accessibility
• Creating and Reusing Custom Components
o Building reusable, modular components
o Understanding and implementing component design principles
• Using Storybook for Component Development (Optional)
o Creating isolated component stories
o Testing UI components in isolation
• Unit Testing with Jasmine and Karma
o Writing unit tests for components, services, and pipes
o Testing Angular forms and components with complex logic
• End-to-End Testing with Cypress or Protractor
o Setting up e2e tests
o Writing tests for navigation, forms, and user interactions
• Debugging Angular Applications
o Debugging with Chrome DevTools and Angular DevTools
o Common debugging tips and troubleshooting
• Building a Full Stack Project
o Plan and create a complete front-end app with Angular
o Implement features like authentication, data CRUD, routing, etc.
• Deployment
o Preparing an Angular app for production
o Deploying to platforms like Netlify, Firebase, or AWS
• Project Presentation and Final Assessment
o Showcase the final project
o Receive feedback and suggestions for improvement
This curriculum balances core JavaScript skills with deep Angular knowledge to equip learners with the tools needed to build professional-grade web applications.