Full Curriculum

All 6 Units

Every lesson, video, quiz, and download — organized by unit in one place. Follow the path from Unit 1 to 6, or jump to wherever you are.

Developer programming at a computer

Lesson

12 min read

What is HTML?

HTML — HyperText Markup Language — is the standard language for creating web pages. It describes the structure of a page using a series of elements, which tell the browser how to display content. Think of HTML as the skeleton of a website: it determines what goes where, but doesn't directly control how things look (that's CSS's job).

The Document Structure

index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Page Title</title>
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Semantic HTML

Semantic elements clearly describe their meaning. Use <header>, <main>, <section>, <article>, <nav>, and <footer> instead of generic <div> elements. Semantic markup improves accessibility, SEO, and code readability.

Video

1 video · 2h 14m

HTML Full Course for Beginners

freeCodeCamp 2h 14m

Quiz

5 questions · ~4 min

HTML Basics Quiz

5 questions  ·  ~4 min
Beginner

1. What does HTML stand for?

2. Which element is used for the largest heading?

3. Which element defines the body content of a web page?

4. What is the correct HTML for creating a hyperlink?

5. Which HTML attribute specifies alternate text for an image?

Quiz Complete!

Great work. Review the lesson above to reinforce any questions you missed.

Downloads

2 files
HTML

HTML Cheat Sheet

All essential HTML elements, attributes, semantic tags, and form inputs with examples — one page.

HTML

HTML Starter Template

A clean HTML5 boilerplate with semantic structure, viewport meta, and CSS reset — ready to use.

Lesson

10 min read

The Box Model Explained

Every HTML element is treated as a rectangular box with four layers: content, padding, border, and margin.

style.css
.box {
  width: 300px;
  padding: 20px;     /* space inside border */
  border: 2px solid #ccc;
  margin: 16px;      /* space outside border */
  box-sizing: border-box;
}

box-sizing: border-box

Setting box-sizing: border-box makes the browser include padding and border inside the declared width. Apply it globally: *, *::before, *::after { box-sizing: border-box; }.

Video

1 video · 6h 18m

CSS Tutorial — Full Course for Beginners

freeCodeCamp 6h 18m

Quiz

5 questions · ~5 min

CSS Styling Quiz

5 questions  ·  ~5 min
Beginner

1. How do you select an element with the id "header" in CSS?

2. Which property changes the background color?

3. Which display value creates a flex container?

4. Which property controls font size?

5. How do you make text bold in CSS?

Quiz Complete!

Nice work. Revisit the CSS Box Model lesson to reinforce anything you missed.

Downloads

2 files
CSS

CSS Reference Card

Properties, selectors, flexbox/grid shorthand, custom properties, and media query breakpoints.

CSS

Web Color Guide

Pastel and neutral palettes with hex codes, HSL values, and WCAG contrast ratios for safe pairings.

Lesson

15 min read

What is Flexbox?

Flexbox is a CSS layout model for one-dimensional layouts — either a row or a column. It makes aligning, distributing, and ordering elements trivial.

.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

Key Properties

  • justify-content — aligns items along the main axis
  • align-items — aligns items along the cross axis
  • flex-wrap — allows items to wrap to the next line
  • flex: 1 — lets children grow to fill available space

Videos

2 videos · 48 min total

Flexbox CSS In 20 Minutes

Traversy Media 20 min

CSS Grid Layout Crash Course

Traversy Media 28 min

No quiz or downloads for this unit — head to Unit 4 after finishing the videos.

Lesson

14 min read

What is JavaScript?

JavaScript is the programming language of the web. HTML structures content, CSS styles it, and JavaScript makes it interactive.

// Variables
const name = "Alex";
let score = 0;

// Function
function greet(student) {
  return `Welcome, ${student}!`;
}

// Conditional
if (score >= 60) {
  console.log("Passed!");
} else {
  console.log("Keep studying.");
}

Variables and Types

Use const for values that won't change and let for values that will. Avoid var — it has confusing scoping rules. JavaScript is dynamically typed: a variable can hold a string, number, boolean, array, or object.

Video

1 video · 3h 26m

JavaScript for Beginners — Full Course

freeCodeCamp 3h 26m

Quiz

5 questions · ~5 min

JavaScript Fundamentals Quiz

5 questions  ·  ~5 min
Intermediate

1. Which keyword declares a variable that cannot be reassigned?

2. What will typeof "hello" return?

3. Which method adds an item to the end of an array?

4. How do you write a comment in JavaScript?

5. Which method listens for a user event on a DOM element?

Quiz Complete!

Excellent. Keep building — next up is DOM Manipulation.

Download

1 file
JS

JavaScript Quick Reference

Essential syntax, array/string methods, DOM selection, event handling, and async patterns.

Lesson

18 min read

The Document Object Model

The DOM is the browser's live representation of an HTML page as a tree of objects. JavaScript can read, modify, add, and remove any element in this tree.

// Select elements
const btn   = document.querySelector('#myButton');
const items = document.querySelectorAll('.list-item');

// Modify content & styles
btn.textContent = 'Click me!';
btn.classList.add('active');

// Handle events
btn.addEventListener('click', () => {
  document.body.classList.toggle('dark-mode');
});

Event Listeners

addEventListener listens for user events (click, submit, keydown, scroll) and runs a callback. Always prefer this over inline onclick="" attributes — it keeps JS and HTML separated.

Video

1 video · 44 min

JavaScript DOM Manipulation Crash Course

Traversy Media 44 min

No quiz or downloads for this unit yet — check back soon.

Lesson

16 min read

What is Responsive Design?

Responsive design means building websites that look and work well on any screen size. In 2024, over 60% of web traffic comes from mobile devices (StatCounter, 2024), making this a non-negotiable skill.

/* Mobile-first */
.grid { grid-template-columns: 1fr; }

@media (min-width: 768px) {
  .grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .grid { grid-template-columns: repeat(3, 1fr); }
}

The Viewport Meta Tag

Always include <meta name="viewport" content="width=device-width, initial-scale=1.0"> — without it, mobile browsers render at desktop width and scale down, breaking your layout.

Download

1 file
TXT

Web Design Checklist

A launch checklist covering accessibility, responsive breakpoints, performance, SEO basics, and cross-browser testing.

No video or quiz for this unit yet — check back soon.