Course intro. Install and tour VS Code. Browser DevTools first look. Create GitHub account, first repo, first commit.
What a computer really is. Hardware vs software. Bits, bytes, and binary counting.
Number bases. Hexadecimal. Converting binary, decimal, hex. Hex in the wild: colors, MAC addresses.
How the internet moves data. Clients and servers. IP addressing and routing. DNS as the phonebook.
The request/response cycle. Methods and status codes. Anatomy of a URL. Query parameters.
Tags, elements, nesting. The document skeleton. Common tags.
The edit-save-refresh loop. Practice with text tags. Links between pages.
What CSS is. Inline, internal, external. Selector syntax: tags, classes, ids.
Styling text and color. Margin, padding, spacing. Shorthand properties.
Why flat pages fail. The div. Wrapping and nesting. Thinking in page regions.
Layout patterns. Width and display. Building a page with CSS Grid.
Why forms matter. The form element. Inputs, types, validation, radio and checkbox.
Dropdowns. File inputs and textareas. Assembling a complete labeled form.
In-class build: multi-section static site with layout and a form.
Polish and present the static site. Structured review for the midterm.
What JS is. Embedding scripts. Output. Variables and types.
Concatenation and template literals. Math operators. Input with prompt.
if, else if, else. Comparison and logical operators. Boolean thinking.
The while loop. The for loop. Nesting and looping patterns.
Objects. Access and update. Looping objects. Nesting arrays and objects.
Guided walkthrough of the Contact List assignment, then independent completion.
What functions are. Declaring and calling. Parameters. Scope.
Function expressions and anonymous functions. Return values. Practice.
The DOM as what JS sees. Selecting elements. Changing content and style. Events.
Reading form values with JS. Interactive greeting. Start Mad Libs.
What an SPA is. State as the single source of truth. Hide, show, save.
In-app navigation. Basic architecture. Build the Notes app together.
Capstone begins: plan the app before the game. HTML shell. Styling.
Centralized state object. Render vs logic. Utility functions. Ship placement.
Initialization flow. Hit detection in pure logic. The player's turn via events.
The computer's turn. Win and loss as state rules. Save and load.
Architecture review. Optional stretch goals. Present capstones and portfolios.