Web Development — What This Unit Is About
Welcome to the web development unit. This page explains what you are going to make, what you will learn, and how the notes in this folder fit together.
Read this one first. It is short.
Key words
| Word | What it means |
|---|---|
| HTML | The language that says what things are on a page — a heading, a paragraph, a button. |
| CSS | The language that says what things look like — colours, sizes, layout. |
| JavaScript | The language that makes a page react — a click does something, a box appears. |
| Layout | How the boxes on a page are arranged. |
| Responsive | The page works on a phone and a laptop, without breaking. |
| Flask | A Python tool that builds web pages on a server and sends them to the browser. |
What you are going to build
A working website. Later in the year it will be powered by Flask (Python) so it can store and show real data.
Right now, you are building the part people actually see and use: the pages, the layout, the styling, the forms.
The one rule that shapes everything
There is no build step.
That sentence means: you write HTML and CSS files, and the browser reads them. That's it. There is nothing to install, nothing to compile, no npm, no waiting. You save the file, you refresh the browser, you see the change.
This is a good thing. It means:
- Fewer things can go wrong.
- You can see what your code does immediately.
- Everything you learn is real CSS, not a tool's version of CSS.
Modern CSS is powerful on its own. You do not need extra tools to do good work.
What order we do things in, and why
We do layout first. Layout is the skeleton — where the boxes sit on the page. Once you can control layout, everything else is easier.
Here is the important bit: you will not build a page and then "make it responsive" afterwards. That is the old way of doing it, and it causes pain. Instead, you build the layout so it already adapts to different screen sizes. Then, later, you add a few deliberate changes for small screens.
You also learn each layout tool by building something real with it. You will not learn Flexbox from a list of properties — you will learn it by building a navigation bar. That is the lesson.
The notes in this folder
| # | Note | The question it answers |
|---|---|---|
| 01 | HTML Foundations | What is the structure everything sits on? |
| 02 | Flexbox Layout | How do I arrange things in one direction? |
| 03 | CSS Grid Layout | How do I arrange a whole page in rows and columns? |
| 04 | Responsive and Fluid Design | How do I make it work on a phone? |
| 05 | Forms and Tables | How do I get data in and out of the page? |
| 06 | CSS Frameworks | Should we use someone else's CSS, or write our own? |
| 07 | JavaScript Refresh | How much JavaScript do I actually need? |
| 08 | What You're Being Marked On | How does this turn into an NCEA grade? |
Work through them in order. Each one builds on the one before.
Roughly how the lessons go
This is a guide, not a rule. We may go faster or slower.
- Lesson 1 — Note 01. HTML structure and the box model. Short lesson, sets up the vocabulary.
- Lesson 2 — Note 02. Flexbox. Build a real navigation bar. Start with Flexbox Froggy.
- Lesson 3 — Note 03. Grid. Build a gallery of cards. Start with Grid Garden.
- Lesson 4 — Note 04. Take one of your layouts and make it survive a phone screen.
- Lesson 5 — Note 05. Forms and tables, styled properly.
- Lesson 6 — Note 06. Decide as a class how we're handling CSS, with reasons.
- Ongoing — Note 07. JavaScript, whenever the project needs it.
Check yourself
Before moving on to Note 01, you should be able to say:
- I know what HTML, CSS and JavaScript each do.
- I know we are building a real website, not just exercises.
- I know there is no build step — save the file, refresh the browser.
- I know layout comes first, and responsive design is built in from the start.
Sites worth bookmarking now
These are the ones to trust. If you Google a CSS problem and land on a random blog, check the answer against one of these.
- MDN Web Docs — Learn web development — the official reference. Dry, but correct.
- web.dev — Learn CSS and Learn HTML — free courses from the Chrome team.
- Kevin Powell on YouTube — the clearest CSS teacher on the internet. Used all through these notes.
- The Odin Project — Foundations — free, project-based, if you want to go further.