📅 Duration: 4 Weeks (Twice a Week) 🖥 Format: Online Live Sessions + Hands-on Assignments
📌 Session 1:
Understanding Execution Context & The Call Stack
Hoisting, Closures, and The Scope Chain
this Keyword, bind(), call(), apply()
this
bind()
call()
apply()
Mini Project: Custom Function Binding Utility
📌 Session 2:
Prototypes & Prototype Chain
ES6+ Class Syntax vs. Prototypes
Understanding Symbol & WeakMap for Private Data
Symbol
WeakMap
Mini Project: Implementing Inheritance Using Prototypes
📌 Session 3:
Deep Dive into Promises & Async/Await
Error Handling in Asynchronous Code
Understanding Event Loop, Microtasks, and Macrotasks
Mini Project: API Fetching with Proper Error Handling
📌 Session 4:
Web Performance Optimization (Debouncing & Throttling)
Memory Management & Garbage Collection
Understanding Web Workers & Multithreading in JS
Mini Project: Real-Time Search with Debouncing
📌 Session 5:
Introduction to JavaScript Design Patterns
Module Pattern, Factory Pattern, Singleton Pattern
Observer & Mediator Patterns for Event Handling
Mini Project: Event-Driven Shopping Cart
📌 Session 6:
Introduction to Functional Programming in JS
Pure Functions, Immutability, Higher-Order Functions
Using map(), reduce(), filter() Efficiently
map()
reduce()
filter()
Mini Project: Custom Functional Utilities Library
📌 Session 7:
Introduction to ES Modules & Bundlers (Webpack, Vite)
Working with TypeScript in JavaScript Projects
Writing Unit Tests Using Jest/Mocha
Mini Project: Modular JavaScript Application
📌 Session 8:
Best Practices for Secure JavaScript Code
Final Project Implementation & Debugging
Code Review & Performance Optimization
Next Steps: Moving to Frameworks (React, Vue, Node.js)