Card 1: HTML
HTML gives the page its structure and identifies the content that Flexbox will arrange.
How to get it for free, and how to use it so you actually learn to code
GitHub Copilot is an AI assistant that works inside your code editor and in a browser. It can explain code, find mistakes, answer questions, and write a lot of code for you. Here's the important part for this class: you can use it mostly for the first three things, not the last one.
What I want you to get good at is looking at a problem in HTML, CSS, or JavaScript and figuring out how to solve it. If AI writes the solution, you may get a working page, but you don't know why or how it works, or how to fix it if something is wrong. If you use it to ask questions instead, it can be a pretty good tutor, and you still do the coding.
These tutoring approaches work with Copilot or similar coding AIs. None of them requires the AI to write your assignment for you.
Paste in HTML, CSS, or JavaScript you do not understand and ask what each line does. Great for making sense of demo files and starter code.
Your layout is broken and you have stared at it for 20 minutes. Ask what is wrong instead of what the fix is, and you will learn the pattern.
Your code works, but is it good? Ask for feedback on structure, naming, accessibility, and whether a simpler approach exists.
Flexbox or Grid? Class or ID? Ask for the tradeoffs so you can make the call yourself and defend it.
Ask it to test you on a topic before a quiz or exam, one question at a time, without giving away the answers up front.
Documentation and error messages are written for professionals. Ask for the plain-English version, then go read the real docs.
There are two ways to use Copilot without paying, and it is worth knowing which one you are on.
Anyone with a personal GitHub account can use Copilot Free. No credit card or student verification is required. It includes a monthly allowance of code completions plus a limited amount of chat and other AI usage. Exact limits and features can change over time.
Eligible students who verify their current student status through GitHub Education can receive Copilot Student at no cost. It includes unlimited code completions and more included AI usage than Copilot Free. Processing time and exact plan allowances can change.
WHAT YOU GET ON COPILOT FREE
AI usage Limited monthly allowance
Code completions Monthly allowance
Editors VS Code, Visual Studio,
JetBrains, Xcode, and more
Browser chat github.com/copilot
Cost $0, no card required
HOW AI USAGE IS COUNTED
Chat and other AI features use
your monthly AI allowance.
Usage can depend on the model,
amount of context, and request.
INLINE CODE COMPLETIONS
Do not use AI credits, but Free
may limit them on the Free plan.
MAKING FREE USAGE LAST
Ask focused questions.
Paste only the relevant code.
Prefer explanations and hints
over whole-project requests.
| Copilot Free | Copilot Student | |
|---|---|---|
| Who qualifies | Anyone with a GitHub account | Students verified through GitHub Education |
| What it costs | Nothing, ever | Nothing while you stay enrolled |
| Chat allowance | Limited monthly AI-credit allowance | Larger included AI-credit allowance |
| Code completions | Monthly allowance; check current plan limits | Unlimited |
| How long to get it | Immediate | Processing time varies; activation may be a separate step |
| Also unlocks | — | Student Developer Pack offers, which change over time |
For the tutoring use we are talking about in this class, Copilot Free can be enough if you use it thoughtfully. Copilot Student gives eligible students more flexibility, but chat and advanced AI features still have usage allowances. These specifications can change at any time!
You need a GitHub account first. Everything else builds on that.
Sign up with a personal email address, not a school-managed account that the college controls. Then add your Mission College email as a second, verified email on that same account. That way the account stays yours after you graduate, but you can still prove you are a student right now.
SIGNUP CHECKLIST
[ ] 1. Create a GitHub account
github.com/signup
Use a personal email.
[ ] 2. Add your school email
Settings > Emails > Add email
Verify it from your inbox.
[ ] 3. Apply for GitHub Education
github.com/settings/education/benefits
Pick "Student"
Pick "Mission College"
Upload proof, submit.
[ ] 4. Check your Copilot status
github.com/settings/copilot
[ ] 5. Start using it now
github.com/copilot
Do not wait for step 3
to be approved.
WATCH YOUR GITHUB ACCOUNT EMAIL
AND GITHUB NOTIFICATIONS FOR
VERIFICATION UPDATES.
Pick a username you would not mind a future employer seeing. This becomes part of your portfolio URL later.
Choose the student role, select Mission College, and upload your proof of enrollment. Then wait for the email.
Use your Copilot settings or usage information to check your current plan and available usage.
For this class, the main place to use Copilot is inside VS Code. That keeps your coding, testing, and tutoring workflow in one place. You do not need to be actively using GitHub repositories for Copilot in VS Code to be useful; you primarily need a GitHub account to sign in to Copilot.
Inside VS Code, Copilot Chat can use the code you select and relevant editor context, so you can ask focused questions without repeatedly copying code into a browser.
Copilot is also available in a web browser. Browser chat can be useful when you are away from your normal computer or cannot use the VS Code extension, but it is not the primary workflow for this course. You generally have to paste the relevant code and context yourself.
COPILOT CHAT IN VS CODE — PRIMARY
Install the Copilot extension
Sign in with your GitHub account
Work beside your actual code
Select relevant code when helpful
Ctrl+Alt+I opens Chat on Windows/Linux
Control+Command+I opens Chat on Mac
Best for: tutoring while you code
BROWSER CHAT — BACKUP
Nothing to install
Useful away from your normal computer
Paste relevant code/context yourself
Best for: occasional backup use
INLINE SUGGESTIONS
Gray ghost text as you type
Tab accepts it
Esc dismisses it
This is the one to turn off
while you are learning
(see section 5)
This is the workflow we will emphasize in class.
Here is an easy way to think about prompts: the verb matters. "Write" and "fix" tend to hand you an answer. "Explain," "why," "compare," and "review" are much more likely to help you learn what is going on.
COPY THESE. FILL IN THE BLANKS.
EXPLAIN
"I'm a beginner in a college web
design class. Explain what each
line of this CSS does, in plain
English: [paste code]"
DIAGNOSE
"My three divs should sit side by
side but they're stacking. Here's
my CSS and HTML. Don't give me
the fix yet, just tell me what's
causing it: [paste code]"
CRITIQUE
"This works, but I'm learning.
What would you change and why?
[paste code]"
QUIZ
"Quiz me on Flexbox, one
question at a time. Wait for my
answer before telling me if I'm
right."
That's basically the pattern: show the relevant code, describe what you expected and what actually happened, then ask for a clue or explanation before you ask for a solution.
As I said earlier, I would like you to turn off autocomplete from Copilot and use VS Code's own suggestions instead. VS Code will still provide useful built-in autocomplete suggestions as you write, but you will stay in control.
You can still use Copilot Chat for explanations, but you will practice typing and structuring your own code. VS Code's built-in suggestions do not use your Copilot AI allowance, so this approach also helps your AI usage last longer.
KEEP LOSE
Chat questions Inline ghost text
Code explanations Tab-to-accept
Error diagnosis "Write this file"
Code review Agent mode
Quizzing yourself Whole-function
Concept comparisons completions
TURNING OFF COMPLETIONS
VS Code status bar
> Copilot status dashboard
> Turn off code completions
> Globally or by language,
when available
THE LEARNING GOAL
Write the code yourself.
Understand what it does.
Be able to explain how it works
in your own words.
| Situation | Fine | Not fine |
|---|---|---|
| You do not understand a demo file | Paste it in and ask for a line-by-line explanation | — |
| Your layout is broken | Describe the symptom and ask what is causing it | Paste the file and ask it to fix and return the whole thing |
| You are starting an assignment | Ask it to explain the concepts the assignment covers | Ask AI to write your entire project or website |
| Your code works | Ask for a critique and then make the changes yourself | Ask it to rewrite your file and submit the rewrite |
| You are studying for an exam | Ask it to quiz you and explain what you got wrong | Anything at all during an actual exam |
One thing to get used to: Copilot can be wrong and still sound completely sure of itself. So don't treat the answer as the end of the process. Test it.
THE VERIFY CHECKLIST
1. Does it render?
Open the file in Chrome.
Look at it. Actually look.
2. Does the property exist?
developer.mozilla.org
Search the property name.
3. Does it validate?
validator.w3.org (HTML)
jigsaw.w3.org/css-validator
4. Is it current?
If a technique looks unfamiliar,
check MDN and ask whether
there is a current approach.
5. Can you explain it?
If not, it is not yours yet.
Every link from this page, in one place. Again, these links could change at any time.
Finish by solving the starter layout below live. It is intentionally broken in more than one way, so students can see a realistic diagnose → change → test → diagnose again workflow without needing to know CSS Grid yet.
The three cards are supposed to sit side by side on a wide screen and move onto additional rows when the browser gets narrower. Instead, they begin as ordinary block elements, so they stack vertically.
STARTING CSS — INTENTIONALLY BROKEN
.card-row {
gap: 20px;
}
.demo-card {
width: 360px;
margin-bottom: 20px;
}
EXPECTED ON A WIDE SCREEN
[ Card 1 ] [ Card 2 ] [ Card 3 ]
ACTUAL AT FIRST
[ Card 1 ]
[ Card 2 ]
[ Card 3 ]
YOUR JOB
Ask for a clue.
Make ONE correction.
Test again.
Diagnose the next issue.
Start here. The cards below use the editable CSS at the bottom of the stylesheet. Work through the steps and make each correction yourself.
HTML gives the page its structure and identifies the content that Flexbox will arrange.
CSS controls presentation, spacing, sizing, and layout behavior.
Flexbox arranges the cards in a row and allows them to wrap when space gets tight.
Open the page in your browser and look at the three stacked cards. Your goal is to make them sit in a row on a wide screen and move onto additional rows when the browser gets narrower.
Notice that the parent has a gap, but the children still behave like ordinary block elements. Do not fix it yet.
Ask what must be true before Flexbox properties can control the children. Let Copilot explain the concept instead of giving you a finished rule.
Add display: flex to the parent yourself. Refresh and explain what changed.
Ask whether the fixed width: 360px is a good fit for flexible cards that should share the available row.
Remove the fixed width and old bottom margin. Add flex: 1 so the cards can share the available space. Refresh.
Resize the browser. The cards keep trying to stay on one line and become too narrow. Ask what Flexbox property allows items to move to another row.
Add flex-wrap: wrap to the parent and min-width: 220px to the cards. Test wide, medium, and narrow widths.
Explain the final CSS without AI: what makes the parent a flex container, how flex: 1 shares space, what wrapping does, and why the minimum width matters.