🌐 Lesson 1: Welcome to the Web
Before you write a single line of code, let's understand what the web actually is — and what you're about to build.
🎯 Learning Objectives
By the end of this lesson, you will be able to:
- Explain what HTML and CSS are and what each one does
- Describe how a web browser turns code into a visible page
- Identify the difference between front-end and back-end
- Describe what you'll build by the end of this course
Estimated Time: 30 minutes
Hands-on: No coding yet — this lesson is all about building your mental model.
📑 In This Lesson
What Is the Web?
Every time you visit a website — whether it's a news article, a social media feed, or an online store — your browser is doing something remarkably simple behind the scenes: it's downloading text files from another computer and drawing what they describe on your screen.
That's it. That's the web. Text files on computers, connected by the internet.
The computer that stores those files is called a server (because it serves files to anyone who asks). Your computer — the one running the browser — is the client (because it requests those files).
(Client)"] -->|"Request: 'Give me this page'"| B["🌐 Internet"] B -->|"Request forwarded"| C["🗄️ Web Server"] C -->|"Response: HTML, CSS, images"| B B -->|"Files delivered"| A style A fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e293b style B fill:#f0fdf4,stroke:#22c55e,stroke-width:2px,color:#1e293b style C fill:#eff6ff,stroke:#6366f1,stroke-width:2px,color:#1e293b
When you type a web address (like www.example.com) into your browser and hit Enter, here's what happens:
- Your browser sends a request over the internet to the server at that address
- The server finds the requested files and sends them back as a response
- Your browser reads those files and renders (draws) the page on your screen
The files your browser receives are primarily written in two languages: HTML and CSS. Those are the two languages you're about to learn.
HTML and CSS — The Two Languages
Think of building a web page like building a house:
🏗️ The House Analogy
- HTML is the structure — the walls, floors, rooms, doors, and windows. It defines what's on the page and how it's organized.
- CSS is the decoration — the paint colors, wallpaper, furniture arrangement, and lighting. It defines how the page looks.
HTML (HyperText Markup Language)
HTML is a markup language, not a programming language. That's an important distinction. It doesn't do calculations or make decisions — it simply labels content so the browser knows what each piece is.
For example, HTML lets you say:
- "This text is a heading"
- "This text is a paragraph"
- "This is an image"
- "This is a link to another page"
HTML uses tags — special keywords wrapped in angle brackets — to label content. Here's a sneak peek:
<h1>This is a heading</h1>
<p>This is a paragraph of text.</p>
<img src="photo.jpg" alt="A photo">
Don't worry about memorizing this yet. You'll write plenty of HTML starting in the next lesson.
CSS (Cascading Style Sheets)
CSS controls how things look. Without CSS, every web page would look like a plain text document with blue underlined links — like the internet circa 1995.
CSS lets you say things like:
- "Make all headings dark blue and bold"
- "Give this section a light gray background"
- "Put these three items side by side"
- "On small screens, stack everything vertically"
Here's what CSS looks like:
h1 {
color: darkblue;
font-size: 2rem;
}
p {
line-height: 1.6;
max-width: 700px;
}
Again — don't memorize this. We'll cover CSS in depth starting in Module 3.
✅ Key Insight
HTML and CSS are always used together. HTML creates the content; CSS makes it look good. You need both to build a proper web page.
How Browsers Turn Code into Pages
Your web browser (Chrome, Firefox, Edge, Safari) is essentially a very sophisticated file reader. When it receives HTML and CSS files from a server, it goes through a process to turn that code into the visual page you see.
(DOM)"] D["🎨 CSS File"] --> E["Browser reads CSS"] E --> F["Applies styles to structure"] C --> G["Combines structure + styles"] F --> G G --> H["🖥️ Renders visible page"] style A fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e293b style D fill:#fdf4ff,stroke:#a855f7,stroke-width:2px,color:#1e293b style H fill:#f0fdf4,stroke:#22c55e,stroke-width:2px,color:#1e293b
Here's the simplified version:
- The browser reads the HTML and builds a structured representation of the page (this is called the DOM — Document Object Model — but you don't need to worry about that term yet)
- It reads the CSS and figures out how each element should look
- It combines the structure with the styles and paints the result on your screen
This all happens in milliseconds. Every time you visit a page, this process runs from scratch.
⚠️ Different Browsers, Same Languages
Chrome, Firefox, Edge, and Safari all understand HTML and CSS, but they each have their own rendering engine. This means pages can occasionally look slightly different across browsers. We'll cover how to handle that in Lesson 20 (Testing & Validation).
Front-End vs. Back-End
You'll sometimes hear people talk about "front-end" and "back-end" development. Here's the simple breakdown:
| Front-End | Back-End |
|---|---|
| What happens in the browser | What happens on the server |
| HTML, CSS, JavaScript | Python, PHP, Ruby, databases |
| What the user sees and interacts with | Data processing, storage, logic |
| Also called "client-side" | Also called "server-side" |
This course is 100% front-end. You'll learn HTML and CSS — the core languages that every web page is built with. No server required. No databases. No complicated setup.
In fact, the website you build in this course will be made entirely of static files — HTML pages and CSS stylesheets that don't need any server-side processing. That's what makes it possible to host them for free on Netlify in the final lesson.
✅ Good News
Static websites are fast, secure, free to host, and perfect for portfolios, blogs, landing pages, documentation sites, and small business sites. You can build a lot with just HTML and CSS.
What You'll Build in This Course
By the end of this course, you will have built a complete, multi-page website and published it live on the internet. Here's the journey:
Getting Started"] --> B["Module 2
HTML Essentials"] B --> C["Module 3
CSS Essentials"] C --> D["Module 4
Build Your Site"] D --> E["Module 5
Go Live! 🚀"] style A fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e293b style B fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e293b style C fill:#fdf4ff,stroke:#a855f7,stroke-width:2px,color:#1e293b style D fill:#fffbeb,stroke:#f59e0b,stroke-width:2px,color:#1e293b style E fill:#f0fdf4,stroke:#22c55e,stroke-width:2px,color:#1e293b
- Module 1 (Lessons 1–4): Understand the web, try the messy way first, then set up proper tools and write your first real HTML page
- Module 2 (Lessons 5–9): Learn every major HTML element — headings, paragraphs, links, images, lists, tables, forms, and semantic structure
- Module 3 (Lessons 10–15): Learn CSS — colors, typography, spacing, Flexbox layout, Grid layout, and responsive design
- Module 4 (Lessons 16–19): Plan, build, and polish a complete multi-page website using everything you've learned
- Module 5 (Lessons 20–21): Test your site, fix issues, and publish it live on Netlify — for free
You'll walk away from this course with a live URL you can share with anyone. That's the goal. Let's get there.
Summary
🎉 Key Takeaways
- The web is built on text files sent from servers to browsers
- HTML defines the structure and content of a page
- CSS defines how that content looks
- Browsers read HTML and CSS and render them into the pages you see
- This course covers front-end development — everything that happens in the browser
- You'll build a real website and publish it live on the internet
🚀 What's Next?
In the next lesson, you'll get your hands dirty immediately. You're going to open Notepad (yes, plain old Notepad), type some HTML, and see it render in a browser. It'll be rough, it'll be ugly, and it'll be wonderful — because you'll realize just how simple the web really is at its core.
🎉 Ready to Start!
You now understand what the web is and what you're about to build. Let's go make something.