Robo Sandwich Maker
|Engineering:||Computer Commands & Programs|
|Grade Range:||Elementary School, Middle School, High School|
This is an entertaining way to show kids how a computer takes in commands. Take instructions as literally as you would like to, and have fun with the presentation!
- White Board or Paper with Markers
- Paper Plates
- Plastic Silverware
- Paper Towels
- Disposable gloves
- Sandwich Ingredients
- Bread, Meat, Cheese, Ketchup, Mustard, Pickles, Lettuce, Tomato, Mayonnaise, etc.
Please read the General Safety section of the Demonstration Safety page before performing this demonstration.
Before performing this demonstration, check with your event contact if there are any students with severe food allergies. Do not bring any sandwich supplies that could trigger said allergies.
- Set out the sandwich ingredients, plates, and silverware. Loosen the lids on any containers, but don't open them fully. Put on a pair of gloves, and explain to the audience that they will be leading this demonstration.
- Ask for two volunteers from the audience, and give them the markers and the white board or paper. Ask the volunteers to make a list of instructions for making a sandwich.
- Explain the catch: You are going to be playing a Robo Sandwich Maker, and as such you will be taking all directions literally. If the audience sees you making the sandwich incorrectly, they need to shout "STOP", and rewrite the incorrect step.
- Have fun with being the Robo Sandwich Maker. Take all commands literally: "Put meat on bread" could mean to put the pack of meat on the bread loaf. "Add ketchup" could mean to put the ketchup bottle on top of the sandwich, or to squirt ketchup on the sandwich until someone says "STOP". If any commands are not written clearly, such as "Open it" or "Cut it", Just say "DOES NOT COMPUTE" and skip the step. Keep the paper towels nearby, as this will be messy!
- After one or two failed sandwiches, explain that the steps need to be written out as a list of clear, precise commands. Have the volunteers work together with the audience on making a list of commands to make a sandwich, and then retry. If there are any hiccups, pause the sandwich making on that step and say "NEEDS CLARIFICATION", and have them rewrite it to make it clear.
- When the sandwich is successfully made, Either take a bite yourself or cut it and have your volunteers try it. Congratulate everyone on successfully directing the Robo Sandwich Maker!
Why This Works
In basic computing, a computer takes a Command, or instruction, and does a task based on that command. These commands have to be clear and concise, otherwise the computer might get confused and perform the wrong tasks. Modern computers have built in safety functions to prevent these irregular commands from running, and to keep the computer operating. This is similar to the "DOES NOT COMPUTE" response given when a step was not clear enough. Other times, instead of trying to follow the command and doing something wrong, the computer will say that it does not understand and ask for the command to be clarified. This is similar to the "NEEDS CLARIFICATION" response given later on.
When the class worked together to make a list of commands for making a sandwich, they made a program for the Robo Sandwich Maker to use. Programs are long lists of commands that connect to each other, and are recognized as all being a part of the same process. The computer recognizes that they are connected, and will run them all together. Even if some of the commands in a program are not as precise, the computer will recognize that the command is within the rest of the program, and run it according to how it is intended.
The list below can help show how a command can be clarified, and how to help the audience write a clearer set of commands for a program.
|Initial Command(s)||Issue||Rewritten Command(s)||Notes|
Put bread on plate
Put a slice of bread on plate
Put one leaf of lettuce on slice of bread on plate
Open pack of ham Put ham on sandwich close pack of ham
Open pack of ham Pull out three slices of ham Put slices on bread on plate Close pack of ham
| In step 3 we don't restate what the slices are, since
the command string, or program, is for "Ham".
Open ketchup bottle Add one squirt to sandwich Open mustard bottle Add one squirt to the sandwich Open relish jar Add one spoonful to the sandwich
Open ketchup bottle Add one small squirt to ham slice on bread Close ketchup bottle Open mustard bottle Add one small squirt to ham slice on bread Close mustard bottle Open relish jar Add one spoonful to ham slice on bread Close relish jar
| By closing the bottles, we close the previous
command strings and don't add extra ketchup &
mustard. Note that for the command strings,
we don't need to specify the ingredient being added.
- There are a lot of different kinds of sandwiches that can be made with this demonstration. Expect to be making some interesting and weird ones!