Week 1 — JS Foundations & DSA Start

beginner javascript dsa

Goal: Build a rock-solid base in JavaScript fundamentals and start thinking about time complexity from day one.

Topics

DayFocusTopics
MonJS Basicslet, const, and var · Data Types & Type Coercion · Hoisting
TueJS Strict & Syntaxuse strict · Destructuring · Spread & Rest Operators
WedJS Modern SyntaxTemplate Literals · Arrow Functions · Higher-Order Functions
ThuDSA FoundationsBig O Notation · Recursion · Bit Manipulation
FriDSA PatternsTwo Pointers · Sliding Window

Key Concepts

  • How let, const, and var differ 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, no arguments, no new
  • 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