Topics
Course content organized by topic. Each topic links to its content slides and the sessions where it is taught.
Foundations
Tools
1 session · GitHub Pages activation, deploy troubleshooting (file paths, casing, missing index.html), GitHub Actions deploy status…
1 session · version control concepts, Git basics, GitHub Desktop workflow (commit, push, pull)…
1 session · client/server model, DNS, HTTP request/response…
1 session · user + content first, sketching screens / wireframes, breaking a page into components…
HTML & CSS
3 sessions · document structure, common tags, semantic HTML…
2 sessions · selectors (element/class/ID/pseudo), the cascade, specificity at a working level…
2 sessions · box model, display values, Flexbox (justify/align/direction/gap)…
2 sessions · viewport meta, mobile-first media queries, fluid layouts…
1 session · form element and action, input types and labels, GET vs POST…
Not yet scheduled · transitions and keyframe animations, CSS variables, frameworks (Tailwind intro)…
JavaScript
1 session · document.querySelector, addEventListener, modifying text/style…
2 sessions · const/let (no var), primitive types, string vs number…
1 session · array literals, for loop, for...of…
1 session · fetch, await, JSON…
1 session · an extension is a folder + manifest.json (no build, no server, no deploy), content scripts = your DOM code on someone else's page, matches / host permissions as a judgment call…
1 session · localStorage (save data between visits), setTimeout / setInterval (timers), Geolocation API…
1 session · separation of concerns / why split files, export / import (ES modules) + script type=module, comments and TODOs…
Not yet scheduled · entity-driven vs component-driven, controllers → event handlers, the JSON you return → DOM updates…
Not yet scheduled · pixels and RGBA, canvas + getImageData / putImageData, per-pixel for loop…
AI Track
2 sessions · Markdown syntax (headings, lists, code fences, links), writing prompts that get useful output, ask modes: explain vs generate vs refactor
3 sessions · read HTML/CSS/JS that AI produced, identify unfamiliar pieces, ask AI to explain specific pieces (not the whole thing)
1 session · console errors and what they say, Network tab for fetch failures, Elements tab for CSS overrides…
1 session · .gitignore, config.js pattern, why API keys must not be in client-side code…
1 session · POST with fetch (body + headers), OpenAI Responses API (model, input, instructions), reading the reply JSON (output array)…
1 session · GitHub Pages vs Vercel (when you need a server), Vercel + serverless functions for hidden API keys, custom domains via Cloudflare…
1 session · the gap between what you want, what you ask for, and what gets built, why an agent guesses, and which guesses to let it make, when AI output is overcomplicated…
Not yet scheduled · Copilot: inline + chat + edits, Cursor, Claude Code…
Not yet scheduled · terminal-based AI coding, multi-step workflows, the harness that steers an agent (the instructions file, PRD.md)…
Projects
MP1 Final Showcase MP2 Final Showcase MP3 Final Showcase MP4 Final Showcase Final Project Introduction Final Demo Day MP1 Progress Demo (mid) MP1: Website for Someone Else (launch) MP2: Interactive Web Tool (launch) MP3: API-Powered App (launch) MP4: Browser Extension (launch)