Week 1 — JS Quick Revision & DSA Start

beginner javascript dsa

Goal: “The best time to plant a tree was 20 years ago. The second best time is now.” — We already know JS, so this week we speed-run all 43 topics as pure recall while laying the DSA foundation from scratch.

Topics

DayTrackFocusTopics
MonA — DSAFundamentalsBig O Notation · Recursion · Bit Manipulation
TueB — JSBasics, Functions & Scope (1–15)let, const, and var · Data Types & Type Coercion · Hoisting · use strict · Destructuring · Spread & Rest · Template Literals · Arrow Functions · Higher-Order Functions · Closures · Currying · Memoization · call, apply, bind · IIFE · Lexical Scope
WedA — DSAArray PatternsTwo Pointers · Sliding Window · Arrays and Operations · Strings and Pattern Matching
ThuB — JSExecution, Async & Objects (16–30)Execution Context · this Keyword · Shallow & Deep Copy · Callbacks · Promises · async/await · Promise Methods · Error Handling · Event Loop · Debouncing & Throttling · Objects · Prototypal Inheritance · Classes · Iterators · Map & Set
FriB — JSDOM, Events, ES6+ & Patterns (31–43)Events · Event Bindings · Event Bubbling & Capturing · Event Delegation · DOM Manipulation · Storage · Modules · Optional Chaining & Nullish · Symbols · Proxy & Reflect · Output Questions · Polyfills · Design Patterns

Key Concepts

  • JS is revision only this week — we’re skimming, not deep-diving. The goal is to jog our memory and flag any weak spots for later.
  • For DSA, this is fresh territory. We need to internalize Big O analysis so we can look at any function and estimate its complexity.
  • Recursion is the foundation for trees, graphs, and DP later — understand the call stack, base cases, and how to trace through recursive calls.
  • Two pointers and sliding window are the first real “patterns” we learn. Once we recognize them, a whole class of array problems becomes solvable.

Practice

  • Analyze 3 functions for Big O complexity — write out the reasoning, not just the answer
  • Solve 2 two-pointer problems (e.g., pair sum, container with most water)
  • Solve 1 sliding window problem (e.g., max sum subarray of size k)
  • Write a JS polyfill from memory — Array.prototype.map or Promise.all are great picks

~50 topics · ~2 hrs/day · JS = quick recall, DSA = fresh start