Robo Sandwich Maker

From Sciencetheatre

Jump to: navigation, search
Engineering: Computer Commands & Programs
Grade Range: Elementary School, Middle School, High School
Format: Stage

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!

Contents

Materials

  • 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.


Safety Precautions

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.

Demonstration

  1. 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.
  2. 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.
  3. 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.
  4. 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!
  5. 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.
  6. 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 
  • "Bread" can refer to the whole loaf
Put a slice of bread on plate 
Add lettuce
  • Unsure on where to add lettuce
  • "Lettuce" can refer to whole lettuce head/package
  • "Sandwich" is undefined, since we haven't made it yet.
Put one leaf of lettuce on slice of bread on plate 
Open pack of ham
Put ham on sandwich
close pack of ham 
  • "Ham" can refer to whole package
  • No number of ham slices specified
  • "Sandwich" is undefined
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
  • No descriptor on "squirt" (big/small)
  • Ketchup isn't closed, so it is still in use
  • "Squirt" applied to mustard and ketchup
  • Mustard isn't closed, so it is still in use
  • "Spoonful" applied to relish and mustard and ketchup
  • "Sandwich" is undefined
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.

Additional Information

  • 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!
Personal tools