Course Curriculum
Introduction
Available in
days
days
after you enroll
JavaScript Foundation
Available in
days
days
after you enroll
- Section Overview (2:27)
- Javascript Engine (5:28)
- Exercise: Javascript Engine (0:56)
- Inside The Engine (4:05)
- Exercise: JS Engine For All (2:33)
- Interpreters and Compilers (6:21)
- Babel + TypeScript
- Inside the V8 Engine (8:56)
- Comparing Other Languages (4:15)
- Writing Optimized Code (8:53)
- WebAssembly (3:15)
- Call Stack and Memory Heap (14:37)
- Stack Overflow (3:21)
- Garbage Collection (4:30)
- Memory Leaks (6:34)
- Single Threaded (1:58)
- Exercise: Issue With Single Thread (2:40)
- Javascript Runtime (14:07)
- Node.js (6:27)
- IMPORTANT: Replit Code
- Exercise: Fix This Code
- Section Review (5:02)
- Web Developer Monthly
- Advanced JavaScript Cheatsheet
- Endorsements On LinkedIn
- Let's Have Some Fun (+ Free Resources)
Javascript Foundation II
Available in
days
days
after you enroll
- Section Overview (1:06)
- Execution Context (8:35)
- Lexical Environment (5:39)
- Hoisting (10:47)
- Exercise: Hoisting (3:58)
- Exercise: Hoisting 2 (7:06)
- Exercise: Hoisting 3
- Function Invocation (6:59)
- arguments Keyword (4:22)
- Variable Environment (6:41)
- Scope Chain (12:20)
- [[scope]] (2:03)
- Exercise: JS is Weird (4:58)
- Function Scope vs Block Scope (3:35)
- Exercise: Block Scope (3:45)
- Global Variables (4:10)
- IIFE (13:38)
- this Keyword (16:59)
- Exercise: Dynamic Scope vs Lexical Scope (12:08)
- call(), apply(), bind() (11:17)
- Exercise: call(), apply()
- bind() and currying (3:42)
- Exercise: this Keyword (3:09)
- Exercise: this Keyword 2
- Context vs Scope (1:08)
- Section Review (2:47)
- Unlimited Updates
Types in JavaScript
Available in
days
days
after you enroll
- Section Overview (1:22)
- Javascript Types (13:40)
- Array.isArray() (2:17)
- Pass By Value vs Pass By Reference (17:06)
- Exercise: Compare Objects
- Exercise: Pass By Reference
- structuredClone
- Type Coercion (9:02)
- Exercise: Type Coercion
- Quick Note: Upcoming Videos
- JTS: Dynamic vs Static Typing (11:50)
- JTS: Weakly vs Strongly Typed (3:18)
- JTS: Static Typing In JavaScript (9:45)
- Course Check-In
The 2 Pillars: Closures and Prototypal Inheritance
Available in
days
days
after you enroll
- Section Overview (1:54)
- Functions Are Objects (9:18)
- First Class Citizens (4:04)
- Extra Bits: Functions (3:25)
- Higher Order Functions (17:14)
- Exercise: Higher Order Functions (3:45)
- Closures (15:11)
- Exercise: Closures (3:18)
- Closures and Memory (7:52)
- Closures and Encapsulation (7:41)
- Exercise: Closures 2 (1:31)
- Solution: Closures 2 (2:34)
- Exercise: Closures 3 (1:28)
- Solution: Closures 3 (3:47)
- Closures Review (1:34)
- Prototypal Inheritance (6:47)
- Prototypal Inheritance 2 (9:07)
- Prototypal Inheritance 3 (7:46)
- Prototypal Inheritance 4 (10:35)
- Prototypal Inheritance 5 (2:43)
- Prototypal Inheritance 6 (9:16)
- Exercise: Prototypal Inheritance (2:55)
- Solution: Prototypal Inheritance (8:20)
- Exercise: Prototypal Inheritance with this
- Exercise: Imposter Syndrome (2:56)
- Section Review (3:57)
- Implement a New Life System
Object Oriented Programming
Available in
days
days
after you enroll
- Section Overview (6:24)
- OOP and FP (3:50)
- OOP Introduction (3:21)
- OOP1: Factory Functions (8:20)
- OOP2: Object.create() (7:38)
- OOP3: Constructor Functions (13:00)
- More Constructor Functions (8:38)
- Funny Thing About JS... (2:52)
- OOP4: ES6 Classes (8:44)
- Object.create() vs Class (1:48)
- this - 4 Ways (4:44)
- Inheritance (14:41)
- Inheritance 2 (5:25)
- ES2022: Private Class Fields + Methods
- Public vs Private (4:21)
- OOP in React.js (3:05)
- 4 pillars of OOP (8:17)
- Exercise: OOP and Polymorphism
- Reviewing OOP (2:06)
Functional Programming
Available in
days
days
after you enroll
- Section Overview (2:29)
- Functional Programming Introduction (3:31)
- Exercise: Amazon (3:37)
- Pure Functions (4:35)
- Pure Functions 2 (7:47)
- Can Everything Be Pure? (4:33)
- Idempotent (4:08)
- Imperative vs Declarative (6:28)
- Immutability (5:28)
- Higher Order Functions and Closures (7:49)
- Currying (4:24)
- Partial Application (4:24)
- Quick Note: Upcoming Videos
- MCI: Memoization 1 (7:47)
- MCI: Memoization 2 (3:56)
- Compose and Pipe (12:33)
- Arity (1:46)
- Is FP The Answer To Everything? (2:54)
- Solution: Amazon (21:48)
- Reviewing FP (5:14)
OOP vs FP
Available in
days
days
after you enroll
Asynchronous JavaScript
Available in
days
days
after you enroll
- Section Overview (4:51)
- Quick Note: Upcoming Videos
- How JavaScript Works (24:12)
- Promises (22:26)
- ES8 - Async Await (15:22)
- ES9 (ES2018) (5:21)
- ES9 (ES2018) - Async (11:11)
- Job Queue (6:55)
- Parallel, Sequence, Race (10:00)
- ES2020: allSettled() (4:22)
- ES2021: any()
- Threads, Concurrency and Parallelism (11:27)
Modules in JavaScript
Available in
days
days
after you enroll
Error Handling
Available in
days
days
after you enroll
Where To Go From Here?
Available in
days
days
after you enroll
Bonus: Data Structures In JavaScript
Available in
days
days
after you enroll
- Quick Note: Upcoming Videos
- Section Overview (1:58)
- What Is A Data Structure? (5:53)
- How Computers Store Data (12:33)
- Data Structures In Different Languages (3:27)
- Operations On Data Structures (3:05)
- Array Introduction (13:51)
- Static vs Dynamic Arrays (6:40)
- Implementing An Array (17:19)
- Strings and Arrays (1:04)
- Exercise: Reverse A String (1:35)
- Solution Reverse A String (10:31)
- Exercise: Merge Sorted Arrays (0:44)
- Solution: Merge Sorted Arrays (14:12)
- Arrays Review (3:28)
- Hash Tables Introduction (4:10)
- Hash Function (5:56)
- Hash Collisions (9:43)
- Hash Tables in Different Languages (3:30)
- Exercise: Implement A Hash Table (3:51)
- Solution: Implement A Hash Table (17:24)
- keys() (6:11)
- Hash Tables vs Arrays (2:01)
- Exercise: First Recurring Character (1:18)
- Solution: First Recurring Character (16:11)
- Hash Tables Review (6:09)
Appendix I: Javascript Basics
Available in
days
days
after you enroll
- Quick Note: Upcoming Videos
- What is JavaScript? (5:33)
- Your First JavaScript (11:41)
- Variables (15:09)
- Control Flow (16:36)
- JavaScript On Our Webpage (9:05)
- Functions (23:53)
- Data Structures: Arrays (13:06)
- Data Structures: Objects (15:25)
- Exercise: Build Facebook (11:16)
- JavaScript Terminology (3:43)
- Loops (22:22)
- Exercise: Build Facebook 2 (8:02)
- JavaScript Keywords (3:02)
Appendix II: Intermediate Javascript
Available in
days
days
after you enroll
- Quick Note: Upcoming Videos
- Scope (10:25)
- Advanced Control Flow (11:41)
- ES5 and ES6 (26:41)
- Advanced Functions (20:04)
- Advanced Arrays (16:40)
- Advanced Objects (24:51)
- ES7 (3:06)
- ES8 (9:19)
- Note: ES9 + ES8 Async Await
- ES10 (ES2019) (16:49)
- Advanced Loops (12:04)
- ES2020 Part 1 (10:07)
- ES2020 Part 2 (3:29)
- ES2020 Part 3 (4:10)
- ES2020: globalThis (3:14)
- ES2021 (3:08)
- ES2022 (3:25)
- ES2023 (13:31)
- Exercise: ES2023
- ES2024 (5:49)
- ES2025 and Beyond
- Debugging (8:23)
- Modules (13:19)
Bonus: Extra Bits
Available in
days
days
after you enroll