Discovery · Systems Project 8
Hardware and Software
One of you is the body. One of you is the instructions. Neither works alone.
Student PIN:
Try It — Be the Machine
Work in pairs. One of you is the software. One of you is the hardware.
Put an object across the room. The hardware has to walk over and pick it up.
⚠ The Rules Are Strict
Software may only speak. No pointing, no walking over, no doing it yourself.
Hardware may not speak at all, and does exactly what it is told. Not what it thinks you meant.
If the software says “walk forward,” you keep walking forward until you are told to stop.
Run it. Then swap and run it again.
| Question | My answer |
|---|---|
| How long did it take? | |
| Did the hardware walk into anything? | |
| Which instruction was hardest to give? |
Being the hardware, was there a moment you knew what your partner meant but had to do something else? What happened?
What went in, what came out
Every system takes something in and puts something out. Work out what yours were.
| Part of the system | In this activity, that was… |
|---|---|
| The input | |
| The output |
Neither One Is the Robot
The software could not move. The hardware could not decide. Only the two together got the object picked up.
That is exactly the deal between your program and your Wombat.
Learn It — They Do Not Speak the Same Language
is the body of a machine — the parts you can drop on your foot. is the instructions you give it.
There is a problem. You write instructions in something close to English. The hardware only understands numbers.
The middle box is the part you have been using without noticing.
You Have Met the Translator Already
Every time you press , a translator turns what you typed into numbers the Wombat can follow.
That is why a spelling mistake stops everything. The translator cannot guess — it can only translate.
Input, output, and the bit in between
| Word | Means | On your robot |
|---|---|---|
| Information coming in | A reading, a button press | |
| Processing | Working out what to do | Your program deciding |
| Something happening in the world | A motor turning, a claw closing | |
| Storage | Keeping it for later | Your saved program, your file |
Every computer system you will ever meet is some arrangement of those four.
Do It — Add a Translator
1. Three roles this time
Work in threes. Same task — cross the room and pick up an object — but now nobody can talk to the person they need to reach.
Software
You know what has to happen.
You may not speak. Act it out, like charades, to the translator only.
Translator
You watch the charades.
You write instructions on paper, then read them aloud to the hardware.
Hardware
You must not watch the charades. Face away.
You may not speak. Do exactly what is read to you.
Where did meaning get lost — between software and translator, or between translator and hardware?
2. Swap roles and go again
Everyone should be the translator once. It is the hardest job and the most interesting one.
As translator, what did you have to guess at?
⚠ A Real Translator Never Guesses
You could guess because you are a person. The on your Wombat cannot. If your instruction is unclear, it stops and shows you an error instead.
3. Put the instructions away
Label your written instructions and put them in a folder or box. Do not throw them out.
Tomorrow someone could take those out and run them again without the software person being there. What does that folder do for a computer?
4. Do the same thing again, faster
Get the instructions back out and have a different hardware person run them, with no software and no translator in the room.
| Question | My answer |
|---|---|
| Did it work with a different person? | |
| Was it faster than the first time? | |
| What had to be written more clearly? |
This is why programs are worth saving. Written down once, run any number of times, by anybody.
5. Map your own robot
Draw your actual robot as a system. Show every input, where the processing happens, every output, and where things are stored.
Your robot as a system diagram
| Part | On my robot, this is… |
|---|---|
| Inputs | |
| Processing | |
| Outputs | |
| Storage | |
| Where the translating happens |
6. Present it
Show your diagram to another team. Have them find one thing you left out.
7. Sort the machines
For each machine, name one input and one output.
| Machine | An input | An output |
|---|---|---|
| A microwave | ||
| A cash machine | ||
| Your Wombat | ||
| A set of traffic lights |
Score It — Checkpoint
Remember: pressing Compile is what runs the translator.
Hardware or software?
| This is… | Which one |
|---|---|
| The motor on the left wheel | |
Your drive_forward() | |
| The touch sensor | |
| The library file you wrote | |
| The Wombat’s screen |
Can you do it again?
Think about it
As the hardware, you had to do exactly what you were told even when you knew better. Was that frustrating? Is a machine that behaves that way a good thing or a bad thing?
A translator turns your instructions into numbers. Nothing is added and nothing is understood. So where does the cleverness in a robot actually come from?
Your robot’s software can be swapped in a minute. Its hardware takes an afternoon. Which one would you rather get wrong?
Next
One machine talking to itself is one thing. Machines talking to each other is a different problem, and it needs rules everybody agrees on.
In Systems Project 9 — Sending Messages, you take something apart, push it through a tube, and try to put it back together at the other end.
You are also ready for Coding Project 10, where your robot gets its first real input.
When you are finished, press the button to turn in your work and save a copy.
KIPR · Botball Explorer · Discovery