Making Peanut Butter and Jelly

For this activity, you will pair up with another student to describe a procedure that others can follow to make a peanut butter and jelly sandwich. When listing the steps in your procedure, you should assume the person following your instructions is as "dumb" as a computer (i.e., someone unfamiliar with making a sandwich like an alien form another planet).

Specifications

A computer has no common sense with which to interpret your instructions the way you really intended them to be carried out; it is one-hundred percent literal minded. To simulate this experience, your instructions for making a peanut butter and jelly sandwich will be read and followed by the professor (i.e., computer) as literally as possible. The reader will not be allowed to provide to additional information to the professor-computer as he is working.

On the other hand, all modern programming languages provide the computer with some basic "knowledge", stuff it knows when it starts. For example, most programming languages allow you to enter algebraic expressions in the common infix format you have learned since elementary school. In other words, the computer knows how to do algebra. It is convenient to have some commands built in so that you do not have to build everything from scratch. To simulate this knowledge, there are certain things you can assume our PB&J computer knows how to:

But you must tell it to do them at the appropriate time! Note these are not easy tasks --- many of them are still unsolved problems in Computer Science.

Finally, our PB&J computer has the following things available on the counter to create a sandwich:

Start this activity by introducing yourself to your partner. You will be given several minutes to discuss your instructions. When you are both satisfied, write them down on the provided transparency so that it can be displayed on the classroom's overhead projector.