30 days Javascript learning
Here's a 30-day plan to teach your kids JavaScript using Cursor AI, designed to motivate and teach them through hands-on, practical projects. Each day includes a learning concept and a small project that is both useful and educational, ensuring they remain engaged.
Week 1: JavaScript Basics & Interactive Websites
Day 1: Introduction to JavaScript
- Concept: What is JavaScript? Where is it used?
- Activity: Write your first "Hello, World!" in JavaScript and display it on a webpage.
Day 2: Variables and Data Types
- Concept: Strings, numbers, booleans, variables.
- Project: Create a personal introduction script where they input their name and age, and it prints a greeting.
Day 3: Basic Operators & Expressions
- Concept: Addition, subtraction, multiplication, division, modulus.
- Project: Build a simple calculator that takes two numbers as input and performs basic operations.
Day 4: Functions
- Concept: Creating and using functions.
- Project: Write a function to convert Celsius to Fahrenheit and vice versa.
Day 5: Conditional Statements
- Concept: if-else, comparison operators.
- Project: Create a simple age checker that outputs whether a user is a teenager or not.
Day 6: Loops
- Concept: For, while loops.
- Project: Write a program to print all even numbers from 1 to 100.
Day 7: Arrays
- Concept: Creating and manipulating arrays.
- Project: Make a to-do list where they can add and remove tasks.
Week 2: DOM Manipulation & Events
Day 8: Introduction to the DOM
- Concept: What is the Document Object Model? Accessing HTML elements via JavaScript.
- Project: Change the background color of a webpage by clicking a button.
Day 9: Events & Event Listeners
- Concept: Handling user input and interactions.
- Project: Create a button that shows a random motivational quote each time it’s clicked.
Day 10: Forms & Validation
- Concept: Form submission, input validation.
- Project: Build a form that asks for the user's email and validates if it’s in the correct format.
Day 11: Arrays with Loops
- Concept: Iterating over arrays.
- Project: Create a game where users guess a number, and the program tells them if it’s too high or low, using a loop to limit the number of guesses.
Day 12: More on DOM Manipulation
- Concept: Changing content dynamically.
- Project: Create a simple webpage that asks for the user's favorite color and changes the background color based on their input.
Day 13: Simple Animations
- Concept: Basic CSS animations using JavaScript.
- Project: Animate a shape (like a box) moving across the screen when a button is clicked.
Day 14: Review Day
- Activity: Review the concepts learned so far by building a small interactive webpage that combines user input, dynamic changes, and loops (e.g., a basic survey form).
Week 3: Building Interactive Web Apps
Day 15: Introduction to Objects
- Concept: What are objects in JavaScript?
- Project: Create an object for a “Car” that stores properties like brand, model, and year.
Day 16: Methods in Objects
- Concept: Adding methods to objects.
- Project: Expand the car object to include a method that returns a full description of the car.
Day 17: JSON & APIs (Basics)
- Concept: Introduction to APIs and working with JSON.
- Project: Fetch data from a simple API (like a joke API) and display the joke on the page.
Day 18: Introduction to Local Storage
- Concept: How to store data locally in the browser.
- Project: Build a persistent to-do list that saves tasks to local storage so they remain even after refreshing the page.
Day 19: Building a Quiz App (Part 1)
- Concept: Combining arrays, loops, and conditionals.
- Project: Create a quiz with multiple-choice questions that stores the user’s score.
Day 20: Building a Quiz App (Part 2)
- Concept: Storing scores and results.
- Project: Expand the quiz app to store high scores in local storage.
Day 21: Review Day
- Activity: Refactor and improve the quiz app. Encourage adding new features (like a timer or more questions).
Week 4: Advanced Concepts & Final Project
Day 22: Introduction to ES6 Features
- Concept: Arrow functions, template literals.
- Project: Refactor previous projects using ES6 syntax.
Day 23: Working with Dates and Time
- Concept: Date objects, getting current time.
- Project: Build a digital clock that updates every second.
Day 24: Introduction to Fetch and Promises
- Concept: Fetching data from an API, working with promises.
- Project: Build a weather app that fetches the current weather based on user input (using an open API).
Day 25: Error Handling
- Concept: try-catch blocks, handling errors in fetch.
- Project: Improve the weather app by handling errors (e.g., what happens if the city is not found).
Day 26: Building a Simple To-Do App (Final Project Part 1)
- Concept: Putting everything together.
- Project: Start building a final to-do app with multiple features (add tasks, delete tasks, mark as complete).
Day 27: Final Project (Part 2)
- Concept: Review and expand.
- Project: Add additional features to the to-do app, such as sorting tasks by priority or saving them to local storage.
Day 28: Final Project (Part 3)
- Concept: UI improvements.
- Project: Add some basic CSS to the to-do app to make it look more polished.
Day 29: Presentation Day
- Activity: Have your kids present their to-do apps, explaining what they learned and how they solved problems.
Day 30: Wrap-Up and Next Steps
- Activity: Review the month’s learning. Discuss what they liked, what they want to learn next, and set goals for the next month.