Lessons

Course lessons

A guided path through web foundations, accessibility, UX, and systems thinking.

Showing all lessons.

Progress saves in this browser.

Lesson 01 / Setup Core

Developer Environment Setup

43 min Reading + Practice Beginner

A step-by-step guide to setting up GitHub, GitHub Desktop, Visual Studio Code, the starter repository, and GitHub Pages.

UX / Process Open lesson
Lesson 02 / Planning Core

Website Process

35 min Reading + Practice Beginner

A practical planning process that helps you define the audience, goals, content, structure, and first build steps for a website.

UX / Process Open lesson
Lesson 03 / Folders Core Interactive

File Paths

55 min Reading + Interactive Beginner

Understand how files are organized on a computer and how browsers find the resources a webpage needs.

HTMLInteractive Open lesson
Lesson 04 / HTML Core

HTML Structure and Elements

55 min Reading + Practice Beginner

Learn the fundamental building blocks of an HTML document and the elements used to create simple web pages.

HTML Open lesson
Lesson 05 / CSS Core Interactive

CSS Basics

55 min Reading + Interactive Beginner

Learn how CSS works with HTML and JavaScript, where styles can live, and how selectors, declarations, the cascade, and inheritance shape a site.

CSSInteractive Open lesson
Lesson 06 / Typography Core

CSS Text Styling

55 min Reading + Practice Beginner

Use CSS font and text layout properties to control the appearance, spacing, and alignment of text.

CSS Open lesson
Lesson 07 / Typography Core Interactive

CSS Fonts

55 min Reading + Interactive Beginner

Use fonts effectively in CSS, understand their design and performance impact, and apply best practices for selection and implementation.

CSSInteractive Open lesson
Lesson 08 / Forms Core Interactive

HTML Forms

55 min Reading + Interactive Beginner

Use HTML form elements, input types, attributes, and accessibility practices to create user-friendly interactive interfaces.

HTMLAccessibilityInteractive Open lesson
Lesson 09 / Layout Core Interactive

Box Model and Layout

55 min Reading + Interactive Beginner

Understand how elements are visually rendered, how their dimensions are calculated, and how display, float, flexbox, and grid affect layout.

CSSInteractive Open lesson
Lesson 10 / Layout Core Interactive

Flexbox

55 min Reading + Interactive Beginner

Use CSS Flexbox to arrange items flexibly within a container for responsive, one-dimensional layouts.

CSSInteractive Open lesson
Lesson 11 / Responsive Core Interactive

Responsive Web Design

55 min Reading + Interactive Beginner

Build websites that adapt gracefully to different screen sizes and devices for a consistent user experience.

CSSInteractive Open lesson
Lesson 12 / JavaScript Core Interactive

JavaScript in the DOM

55 min Reading + Interactive Intermediate

Use JavaScript and the Document Object Model to select elements, change content, respond to events, and create dynamic interfaces.

JavaScriptInteractive Open lesson
Lesson 13 / Design Core

Hero Sections

45 min Reading + Practice Intermediate

Design responsive hero sections that make a strong first impression, communicate a clear message, and guide users toward action.

UX / ProcessCSS Open lesson
Lesson 14 / Layout Core Interactive

CSS Positioning

55 min Reading + Interactive Intermediate

Use CSS positioning to precisely control element placement, stacking, sticky headers, and layered components.

CSSInteractive Open lesson
Lesson 15 / Motion Core Interactive

CSS Transforms and Filters

55 min Reading + Interactive Intermediate

Use CSS transforms and filters to move, rotate, scale, tilt, and visually adjust elements without disrupting page layout.

CSSInteractive Open lesson
Lesson 16 / Motion Core Interactive

CSS Transitions

55 min Reading + Interactive Intermediate

Use CSS transitions to animate changes between interface states with smooth, accessible feedback.

CSSInteractive Open lesson
Lesson 17 / Motion Core Interactive

CSS Animation

55 min Reading + Interactive Intermediate

Use `@keyframes` and animation properties to create named motion sequences, loading states, and purposeful visual feedback.

CSSInteractive Open lesson
Lesson 18 / GSAP Stretch Interactive

GSAP Web Animation

55 min Reading + Interactive Intermediate

Use GSAP for controlled JavaScript animation, sequenced timelines, staggered motion, and complex interaction patterns.

JavaScriptCSSInteractive Open lesson
Lesson 19 / Performance Core Interactive

Image Optimization

55 min Reading + Interactive Intermediate

Optimize image formats, dimensions, compression, responsive delivery, accessibility, and loading behavior for faster websites.

UX / ProcessAccessibilityInteractive Open lesson
Lesson 20 / Structure Core Interactive

Page Types and Templates

47 min Reading + Interactive Intermediate

Plan common page types, reusable templates, and content hierarchy so websites feel consistent and purposeful.

UX / ProcessInteractive Open lesson
Lesson 21 / Navigation Core Interactive

Site Navigation

55 min Reading + Interactive Intermediate

Design clear, consistent, accessible navigation systems that help users understand where they are and where they can go next.

HTMLAccessibilityInteractive Open lesson
Lesson 22 / Page Types Core

Item Listing and Details

49 min Reading + Practice Intermediate

Design listing pages and detail pages that help users browse, compare, evaluate, and take action.

UX / ProcessHTML Open lesson
Lesson 23 / Components Stretch Interactive

Carousels

51 min Reading + Interactive Intermediate

Design carousels carefully, prioritize manual controls, and build accessible slide navigation when a carousel is truly useful.

JavaScriptAccessibilityInteractive Open lesson
Lesson 24 / Accessibility Core Interactive

Web Accessibility

53 min Reading + Interactive Intermediate

Run a practical final accessibility pass with semantic HTML, keyboard testing, contrast checks, form labels, useful alt text, and WCAG 2.2 AA guidance.

AccessibilityInteractive Open lesson
Lesson 25 / Debugging Studio Support Interactive

Debugging Web Projects

47 min Reading + Interactive Intermediate

Use a calm debugging playbook to find and fix broken HTML, CSS, JavaScript, images, links, responsive layouts, and published-site problems.

HTMLCSSJavaScriptInteractive Open lesson
Lesson 26 / DevTools Studio Support Interactive

DevTools for Designers

45 min Reading + Interactive Intermediate

Use browser DevTools as a live design microscope to inspect layout, spacing, typography, responsive behavior, accessibility, assets, and performance clues.

CSSUX / ProcessInteractive Open lesson
Lesson 27 / Layout Core Interactive

CSS Grid

55 min Reading + Interactive Intermediate

Use CSS Grid to build two-dimensional layouts, card grids, page regions, galleries, feature layouts, and responsive structures.

CSSInteractive Open lesson
Lesson 28 / Systems Studio Support Interactive

Design Systems

51 min Reading + Interactive Intermediate

Create a mini design system with reusable colors, spacing, typography, buttons, cards, forms, navigation, states, and accessibility rules for a consistent project.

CSSUX / ProcessInteractive Open lesson
Lesson 29 / Planning Studio Support

Project Planning

41 min Reading + Practice Intermediate

Create a pre-build planning packet with audience goals, project goals, scope, sitemap, content inventory, navigation plan, and low-fidelity wireframes.

UX / Process Open lesson
Lesson 30 / Launch Studio Support

Deployment QA

39 min Reading + Practice Intermediate

Use a deployment-day checklist to commit, push, verify GitHub Pages, test the live URL, and catch links, paths, mobile, accessibility, metadata, and performance issues.

UX / Process Open lesson
Lesson 31 / Findability Reference

SEO and Metadata

41 min Reading + Practice Intermediate

Use page titles, descriptions, headings, semantic HTML, readable URLs, image text, and social metadata to make pages easier to understand and share.

HTMLUX / Process Open lesson
Lesson 32 / Performance Studio Support Interactive

Performance Basics

47 min Reading + Interactive Intermediate

Improve how fast a site feels by optimizing images, fonts, scripts, embeds, layout stability, and the amount of work the browser must do.

UX / ProcessInteractive Open lesson
Lesson 33 / Interaction Studio Support Interactive

UI States and Feedback

55 min Reading + Interactive Intermediate

Design clear default, hover, focus, active, current, loading, empty, error, success, and disabled states so interfaces communicate what is happening.

CSSJavaScriptUX / ProcessInteractive Open lesson
Lesson 34 / Capstone Studio Support

Portfolio Polish

47 min Reading + Practice Intermediate

Refine a final web project for presentation with stronger hierarchy, consistency, accessibility, responsiveness, performance, storytelling, and live-demo confidence.

UX / ProcessAccessibility Open lesson