Communication, be it between people, computers, or
extraterrestrial intelligences, is a central
concept in computer science. In all communication, one entity has information and wants to
convey it to another.
Arguably, pictures are one of the most basic forms of communication, found in ancient
Petroglyphs and
Cave Paintings. They are still
used today in the form of
Symbol Signs for
universal communication in airports, train stations, etc.
If you encounter someone who does not speak your language, drawing pictures
and pantomiming are great ways for both of you to communicate.
There will be many times this semester
when you wish you could demonstrate or show the computer what you would like it to do instead of
writing computer code. Unfortunately when
conversing with computers or ETs, we will not have this luxury.
We most often communicate through the medium of a language, following a strict
protocol.
If both sides understand the language and follow the protocol, communication is straight-forward.
However, a computer is a very literal machine; it does not tolerate mistakes in language easily.
This may be convenient in some ways, as the language will follow a specific, unambiguous grammar,
and there will be only one way for the computer to understand a correctly written piece of code.
But this is foreign to our everyday use of language, where slang is common and real-world context is often used
to disambiguate the underlying semantics.
You assignment for today is to use a language you are familiar with (English), but in a way
that simulates the experience of talking with a computer. You will precisely
describe a set of instructions (called an
algorithm) for folding an
Origami penguin, using no pictures or talking or demonstration,
and hope that someone else is able to understand your algorithm.
An origami pattern is usually communicated with both pictures and words, allowing it to
mostly transcend languages, however here the two will be separated. In
computer science terms, you will assume the role of
Programmer, your lab subject will execute, and together your will be producing an
origami penguin for the end User.
Watch the above video and learn to fold one sheet of origami paper into a penguin. You may wish to practice on other paper first to make sure you understand all the instructions. Write your name with a permanent marker on the outside of your completed penguin.
Give them the second sheet of origami paper, and ask them to fold a penguin following your algorithm only. Do not let them see your completed penguin or the pictorial instructions provided with this lab. If they get frustrated by your algorithm, ask them to keep folding as best they can to get to the end, no matter what.