## Week 1: Introduction to Technology and Python Basics **Day 1: Introduction to Technology** - Understanding technology in everyday life. - Overview of computers, the internet, and servers. - Basic Python installation and setup. **Day 2: Python Basics** - Data types, variables, and operators. - Project: Simple 'Mad Libs' game. **Day 3: Control Structures** - If-else, nested if-else. - Project: Text-based Adventure game. ## Week 2: Python Intermediate and Web Basics **Day 1: Lists and Web Basics** - Introduction to lists in Python. - Basics of how websites work: Frontend vs. Backend. - Project: Interactive To-Do List. **Day 2: Dictionaries, Tuples, and Servers** - Introduction to dictionaries and tuples in Python. - Basic understanding of servers and how they host websites. - Project: Basic interactive phone book. **Day 3: Python Libraries and Web Hosting** - Introduction to NumPy. - Basics of web hosting: How to host a simple website. - Simple exercises with NumPy. ## Week 3: Python Functions, Networking, and Setting Up a Server **Day 1: Functions and Simple Servers** - Introduction to functions in Python. - Basics of setting up a local server. - Project: Text-based adventure game using functions. **Day 2: Networking Basics (IP Addresses, Ports, and Protocols)** - **IP Addresses:** An IP address is a unique identifier assigned to each device connected to a network that uses the Internet Protocol for communication. - **Ports:** Ports are numerical labels used to identify specific processes or services on a device. - **Network Protocols:** - **HTTP/HTTPS:** Protocols used for transmitting web pages over the internet. - **FTP:** File Transfer Protocol used for transferring files. - **SMTP:** Simple Mail Transfer Protocol used for sending emails. - **TCP/UDP:** Transmission Control Protocol and User Datagram Protocol, the primary protocols for data transmission. - Basics of cloud hosting: Using services like (Heroku or Repl.it) or (AWS/GCP). - Project: Simple program to demonstrate client-server communication using IP addresses and ports. **Day 3: Classes, Objects, and Deploying a Server** - Introduction to classes and objects in Python. - Steps sto deploy a simple server. - Project: Creating virtual pets. ## Week 4: Advanced Technology Concepts and Python Projects **Day 1: Introduction to Databases** - Basics of databases and their uses. - Simple SQL commands. - Project: Create a simple database-driven Python application. **Day 2: APIs and Web Scraping** - Understanding APIs and how they work. - Basics of web scraping. - Project: Fetch data from an API or scrape data from a website. **Day 3: Final Project and Review** - Review of key concepts learned. - Final project: Create a small web application using Python, deploy it to a cloud server, and use a database. - Presentation and discussion of the final project.