Term one · red wire · Session 01
The Pi says something ridiculous out loud, in a voice he picks. By the end of the hour he has typed instructions into a machine and the machine has answered — out loud, in front of people.
speaker-test -t wav -c 2, Ctrl-C to stop), and run
sudo apt update && sudo apt install -y espeak-ng cowsay so nothing has to
download while he waits. If sound is silent, pick the right output in
sudo raspi-config → System Options → Audio.
00–05 · the joke
You are already sitting at the terminal when he arrives. You type one thing, he watches:
cowsay "Krishna is late"
That is the whole opening. He will want to type one. Let him. If the command is not found,
it is at /usr/games/cowsay — use the full path.
05–15 · the machine answers
He types these. You do not touch the keyboard — this is the rule that gets broken first. Each one is a question, and each answer comes back instantly.
whoami # who does the computer think you are? date # what time does it think it is? uname -a # what is it, exactly? uptime # how long has it been awake?
"Every one of those is you asking it a question. It has to answer. It cannot decide not to."
Show him the up-arrow now, not later. It is the single key that makes typing survivable for a ten-year-old.
15–25 · first mistake, on purpose
Ask him to type wohami. Read the error out loud together, left to right:
bash: wohami: command not found
Three facts, in this order: it told you which program complained (bash), what
it could not do, and it did nothing else. Nothing broke. Then fix it with one up-arrow and two
keystrokes.
"Red text is the computer explaining itself. It is the most polite thing in the house."
25–45 · the voice
espeak-ng "Hello. I am a computer."
Then hand him the dials, one at a time, and let him run the same line ten times with different numbers. This is the part he will remember.
espeak-ng -s 90 "I am very very slow" # -s = words per minute espeak-ng -s 350 "I am extremely fast" # default is 175 espeak-ng -p 99 "Squeaky" # -p = pitch, 0 to 99 espeak-ng -p 0 "Deep" espeak-ng -a 200 "LOUD" # -a = volume, 0 to 200
Now the voices. Let him audition them and pick one — this is the "naming" in naming day.
espeak-ng --voices=en # the list espeak-ng -v en-gb+f3 "Good evening" # +f1..f5 female, +m1..m7 male espeak-ng -v en+whisper "Do not tell anyone" espeak-ng -v en+croak "I have a cold"
He chooses the voice, the speed, the pitch and the sentence. Write the winning line on paper. It is the Pi's voice for the rest of the year.
45–55 · the demo
He calls someone into the room and runs his line himself. Not you. This is the smallest possible version of the thing that has to happen every ninth session, and starting it in week one sets the expectation cheaply.
cowsay "I can talk" && espeak-ng "I can talk"
date | espeak-ng # it reads the answer to another command
55–60 · the logbook
espeak-ng — that is disposable. You
were teaching that a computer is a thing you give instructions to and it obeys immediately and
literally; that an error is information rather than failure; and that the up-arrow means
typing a command wrong costs you nothing. Everything in term one rests on those three.
sudo raspi-config, and aplay -l to see what the Pi can see. He types
too slowly to finish a line → that is normal in week one and the reason for ten minutes of
typing practice twice a week from now on. He got bored → you spent too long on the three
questions; next week, get to the thing that makes noise faster.