Week 1: Introduction to Programming and JavaScript Basics
Objective: Introduce programming concepts and JavaScript basics.
Topics Covered:
-
- What is programming?
- JavaScript syntax: variables, data types, operators.
- Introduction to control flow: if statements and loops.
- Setting up Node.js and a code editor.
Activities:
-
- Simple scripts to understand variables and control flow.
- Brief Q&A session for clarifying concepts.
Week 2: Functions and Arrays in JavaScript
Objective: Deepen understanding of JavaScript through functions and arrays.
Topics Covered:
-
- Declaring and using functions.
- Understanding scope and function parameters.
- Working with arrays: adding, removing, and accessing elements.
Activities:
-
- Write functions to manipulate arrays.
- Create a basic program using functions and loops.
Week 3: Introduction to Node.js
Objective: Understand the basics of Node.js and its environment.
Topics Covered:
-
- What is Node.js and why use it?
- Introduction to npm and managing dependencies.
- Writing your first Node.js script.
- Understanding modules in Node.js.
Activities:
-
- Create a simple Node.js app that reads and writes to a file.
- Explore a basic npm package.
Week 4: Working with APIs and Asynchronous Programming
Objective: Learn how to interact with APIs and handle asynchronous code.
Topics Covered:
-
- What are REST APIs?
- Making HTTP requests using the http module or axios.
- Handling API responses and promises in JavaScript.
Activities:
-
- Fetch data from a public API and display it in the console.
- Create a small app that uses asynchronous functions to process API data.
Week 5: Building a Basic Web Server with Node.js
Objective: Build a basic web server using Node.js.
Topics Covered:
-
- Introduction to the http module.
- Serving static files and handling different routes.
- Basic routing and request handling.
Activities:
-
- Create a simple web server that serves HTML files.
- Add routing logic to serve different content based on the URL.
Week 6: Introduction to Express.js
Objective: Learn to use Express.js for building web applications.
Topics Covered:
-
- Setting up an Express.js app.
- Routing with Express.
- Handling POST requests and working with middleware.
Activities:
-
- Build a simple Express app with multiple routes.
- Create a form to submit data to the server.
Week 7: Connecting to a Database
Objective: Integrate a database with your Node.js app.
Topics Covered:
-
- Introduction to MongoDB and Mongoose.
- Connecting to a MongoDB database.
- Performing basic CRUD operations.
Activities:
-
- Build an Express app that connects to MongoDB.
- Implement CRUD operations and display data on a web page.
Week 8: Building a Simple Full-Stack Application
Objective: Combine front-end and back-end to build a complete application.
Topics Covered:
-
- Combining Express with front-end code (HTML/CSS/JS).
- Implementing basic user authentication (optional).
- Deploying the Node.js app to a cloud service.
Activities:
-
- Build a full-stack app (e.g., a to-do list or blog).
- Deploy the app using Heroku or Vercel.
Week 9: Review and Project Work
Objective: Review concepts and work on individual projects.
Topics Covered:
-
- Recap of key concepts from the course.
- Open lab for students to work on their final projects.
Activities:
-
- Individual project guidance and troubleshooting.
- Group discussions to exchange ideas.
Week 10: Project Presentations and Next Steps
Objective: Present final projects and explore advanced topics.
Topics Covered:
-
- Students present their projects.
- Discussion on advanced Node.js topics and future learning paths.
Activities:
-
- Project presentations.
- Q&A on advanced topics and exploration of future projects or learning resources.