Month 1: JavaScript Fundamentals (Weeks 1–4)
📌 Week 1: Introduction & Core Concepts
● What is JavaScript? How does it run in the browser?
● console.log(), dev tools
● Variables: let, const, var
● Data types: string, number, boolean, null, undefined
● Basic operators: +, -, *, /, %, +=, etc.
📚 Practice:
● Make a calculator that adds two numbers
● Log messages and variables to the console
📌 Week 2: Control Flow
● Conditionals: if, else if, else, switch
● Logical operators: &&, ||, !
● Comparison: ==, ===, !=, !==, >, <
📚 Practice:
● Number guessing game
● Simple login check (if username === "admin")
📌 Week 3: Loops and Functions
● for, while, do...while loops
● Looping through numbers and arrays
● Functions: function declarations, parameters, return values
📚 Practice:
● Create a multiplication table
● Write a function to reverse a word
📌 Week 4: Arrays & Objects
● Array methods: .push(), .pop(), .shift(), .unshift(), .length, .indexOf()
● Object syntax: { key: value }
● Accessing and updating properties
● Looping with for...of, for...in
📚 Practice:
● To-do list stored in an array
● Create an object for a character or a book
🗓️ Month 2: DOM, Events & Intermediate Concepts
(Weeks 5–8)
📌 Week 5: DOM Manipulation
● document.getElementById(), .querySelector()
● .innerText, .innerHTML, .value, .style
● Create/update/delete DOM elements
📚 Practice:
● Build a simple HTML page with a button that changes text
● Make a live counter that updates on button clicks
📌 Week 6: Events and Interactivity
● addEventListener()
● Mouse and keyboard events
● Forms and inputs
📚 Practice:
● Build a calculator or tip calculator
● Interactive quiz app
📌 Week 7: Scope & Advanced Functions
● Function vs block scope
● Arrow functions (=>)
● Callbacks
● Closures (basic intro)
📚 Practice:
● Create a function that returns another function
● Use callbacks with setTimeout
📌 Week 8: Arrays (Advanced) & ES6+
● .map(), .filter(), .reduce()
● Destructuring
● Template literals (`Hello, ${name}`)
● Spread/rest operators
📚 Practice:
● Filter a list of users by role
● Map numbers to strings (e.g., [1,2] → [“one”, “two”])
🗓️ Month 3: Projects & Async JavaScript (Weeks 9–12)
📌 Week 9: Project #1 — To-Do List App
● Add tasks
● Mark as complete
● Delete tasks
● Store tasks in localStorage
🛠️ Use HTML + CSS + JS
📌 Week 10: Fetch API & Promises
● fetch(), .then(), .catch()
● async / await
● JSON parsing
📚 Practice:
● Fetch users from a public API (like JSONPlaceholder)
● Display fetched data in the DOM
📌 Week 11: Project #2 — Weather App
● Input city → fetch weather data
● Display temperature, condition, etc.
● Use OpenWeatherMap API or similar
📌 Week 12: Review & Portfolio
● Refactor previous projects
● Review everything: variables, functions, DOM, async
● Post projects on GitHub
🎁 Bonus: Try a mini framework (e.g., start reading about React or Vue)
📚 Tools & Platforms
Tool Purpose
replit.com Practice JS online
JSFiddle Test JS in-browser
Visual Studio Code Code editor
GitHub Version control/portfolio
MDN Web Docs Best JS reference
🧠 Optional Weekly Habit Tracker
Habit Goal
Practice JS for 30–60 mins/day ✅
Watch 2–3 quality tutorials/week ✅
Build a mini project each week ✅
Share progress (Twitter/GitHub) ✅
✅ End of 12 Weeks: What You'll Know
● Core JavaScript syntax and logic
● DOM & user interaction
● Real-world APIs and async code
● 2–3 complete mini projects
● Ready to learn React, Node.js, or Game Dev