Goal: Build a rock-solid base in JavaScript fundamentals and start thinking about time complexity from day one.
Topics
| Day | Focus | Topics |
|---|---|---|
| Mon | JS Basics | let, const, and var · Data Types & Type Coercion · Hoisting |
| Tue | JS Strict & Syntax | use strict · Destructuring · Spread & Rest Operators |
| Wed | JS Modern Syntax | Template Literals · Arrow Functions · Higher-Order Functions |
| Thu | DSA Foundations | Big O Notation · Recursion · Bit Manipulation |
| Fri | DSA Patterns | Two Pointers · Sliding Window |
Key Concepts
- How
let,const, andvardiffer in scoping and the Temporal Dead Zone (TDZ) - Hoisting rules for variables vs functions — know what moves where
- Arrow functions vs regular functions: no own
this, noarguments, nonew - Big O complexity analysis — being able to look at code and say “that’s O(n log n)”
- Recognizing two-pointer and sliding window patterns in array problems
Practice
- Write a function that uses destructuring + spread together to merge and reshape objects
- Implement a basic sliding window maximum for a fixed window size
- Pick 3 functions of varying complexity and analyze their Big O — justify your answer
- Solve 2 two-pointer problems (e.g., pair sum, remove duplicates from sorted array)
~14 topics · ~1.5 hrs/day · Focus: read the linked notes, then code each concept