Double-click a file to open it.
Welcome! Today you'll get hands-on with AI tools and start building intuition for how they work.
Open ChatGPT, Claude, or Gemini and ask it a genuine question. Try one of these starters, or make up your own:
Notice: How long is the answer? Does it feel confident? Does it hedge? Does it ask you anything back?
Try this prompt to get a short professional bio:
Read the output. Then try the prompt β output β feedback loop:
Try one of these and observe what happens:
Notice how AI handles the limits of its knowledge. Does it refuse? Make something up? Offer a workaround? Understanding these failure modes makes you a smarter user.
Part A β Finish the sentence: Predict what AI will say, then check.
Part B β Break it on purpose: Try to get AI to produce something weird or wrong.
Click the link below to open a live, working web app β built by asking AI to write the code:
π https://simple-hello--fundlush1.replit.app/
You didn't write any of that code. An AI did β from a plain-English description. That's where this course is headed.
For each prompt below, compare the vague version to the improved version and study what changed.
| Iteration | Prompt Change | Result Improvement |
|---|---|---|
| 1 | Added "HTML/CSS/JS, no libraries" | Got a working file instead of snippets |
| 2 | Added "grid layout, Win95 aesthetic" | Styled buttons, beveled borders, gray palette |
| 3 | Added "keyboard support, chained ops" | Keydown events added, operator logic fixed |
You don't need to know how to write code to read it. Let's practice.
Before reading the explanation β what do you think this program does? Write your guess.
name.color.The f"..." syntax means "fill in the blanks" β the {name} and {color} get replaced with whatever the user typed.
Paste that code into ChatGPT and ask:
Then ask a follow-up:
Test the prediction. AI should say the {name} and {color} would print literally instead of being replaced.
Ask AI to add a third question:
Copy the output, run it, verify it works. You just modified a program using plain English.
Pair up. Each person picks one task and writes two prompts: a vague one and a specific one. Then swap and run each other's prompts. Compare results.
Diana tried: "Write an email to a professor asking for an extension."
The AI gave a generic template. Then she improved it:
Result: A specific, warm, appropriately toned email that Diana said she "would actually send."
Key insight: The more context you give, the more useful the output. AI doesn't know your situation β you have to tell it.
Read each program, figure out what it does, then use AI to modify it.
Read it: What does :.2f do? (Hint: look at the output format.)
Modify it: Ask AI to split the total evenly between 2, 3, or 4 people. The program should ask "How many people?" and show each person's share.
Read it: What formula is being used? Does it match what you learned in school?
Modify it: Ask AI to also convert to Kelvin (K = C + 273.15) and display all three values.
Read it: What does random.choice() do? What would happen if the list had only one item?
Modify it: Ask AI to add 5 more compliments to the list and make it ask "Want another one? (yes/no)" after the first compliment, looping until the user says no.
Today you built real programs using AI β one for each of the three core building blocks of code: sequence, selection, and iteration.
| Line | What happens | Value stored |
|---|---|---|
| 1 | Asks for wage, user types 15 | wage = 15 |
| 2 | Asks for hours, user types 40 | hours = 40 |
| 3 | Multiplies 15 Γ 40 | pay = 600 |
| 4 | Displays the result | "You earned $600.00 this week." |
| Input | Which branch fires? | Output |
|---|---|---|
| 45Β°F | else if (temp <= 60) | "It's chilly. Grab a jacket." |
| 80Β°F | else if (temp <= 80) β catches it exactly | "Perfect weather!" |
| -10Β°F | if (temp < 32) | "It's freezing! Stay inside." |
| "hot" | parseFloat("hot") = NaN β no branch matches cleanly | undefined / blank |
NaN β the program doesn't crash, but the output is wrong. This is a real-world validation gap.| Question | Answer |
|---|---|
| Where does the loop start? | i = 0 β the first item (Bread) |
| Where does it end? | When i < groceries.length is false β after item 5 |
| How many times does it run? | 5 times (indices 0 through 4) |