From MIT's Summer of Innovation Zero Robotics program
This activity will introduce students to several computer science concepts. Students will learn the necessity for thoroughness while programming and will be introduced to the often strange results of literalism. The overarching theme being introduced is that computers do what they are told and nothing more. The ability to read between the lines and determine what was meant rather than what was said is a skill computers lack. Additionally, students are introduced to the concept of debugging through iterative attempts to program a computer to make a peanut butter and jelly sandwich.
- 2 Loaves of Bread (sliced)
- Several knives
- 1 Jar Peanut Butter
- 1 Jar Jelly
- Lined Paper
- Pencils
In this activity, students will attempt to ”program” the instructor to make a peanut butter and jelly sandwich. Begin by instructing the class to collaboratively write down instructions for making a peanut butter and jelly sandwich. If the class is large or an element of competition is desired, the class can be broken into two groups each of which provides a set of instructions. A time limit of about 5 minutes is appropriate. With the instructions in hand, tell the class that you are a computer and that you are going to follow their instructions. Proceed by interpreting the instructions in the most literal manner possible. For example:
- Take a slice of bread
- Put peanut butter on the slice
- Take a second slice of bread
- Put jelly on that slice
- Press the slices of bread together
would result in you taking a slice of bread, putting the jar of peanut butter on top of the slice, taking a second slice of bread, putting the jar of jelly on top of that slice, then picking up both slices of bread and pushing them together. After this tell the students that their peanut butter and jelly sandwich doesn’t seem quite right and ask for a new set of instructions. Repeat this process until you receive a list similar to this one.
- Take a slice of bread
- Open the jar of peanut butter by twisting the lid counter clockwise
- Pick up a knife by the handle
- Insert the knife into the jar of peanut butter
- Withdraw the knife from the jar of peanut butter and run it across the slice of bread
- Take a second slice of bread
- Repeat steps 2-5 with the second slice of bread and the jar of jelly.
- Press the two slices of bread together such that the peanut butter and jelly meet
After successfully making a peanut butter and jelly sandwich, invite the students to make more sandwiches and enjoy lunch.
-
Additional ways to be frustratingly literal include grasping the knife by the blade or pushing the sides of bread without peanut butter and jelly together then complaining about the mess.
-
If a step in the students instructions seems impossible or requires additional explanation (e.g. Open the jar of peanut butter or instructions to insert the knife into the jar of peanut butter before the jar has been opened.) proceed by attempting to complete the instruction in a ridiculous manner (e.g. turning the jar upside down and shaking, or attempting to stick the knife through the side of the jar).