CS 151: Project #1

### Project 1: Computational Thinking

The purpose of this project is to explore how we go about describing actions to another person. Can we effectively communicate with a very limited vocabulary?

1. Request personal web space, if you do not already have it.
2. This task requires a partner. One of you will be an artist, the other a director. First, the director comes up with a shape or figure that the artist will draw, but the director cannot say anything to the artist about what the end result should be. Next, the director writes down a series of commands for how to draw the shape. The director is limited to 10 or fewer different types of commands, but each command type can be used as many times as necessary and can include parameters. For example, "draw a vertical line 2in long" could be reused as "draw a vertical line 3in long". "Draw a horizontal line 1in long" would be a different command. So there may be as many instructions as required for the task, but there can only be ten different kinds of instructions in the list.

Next, the artist must read the directions and follow the commands. The artist cannot ask questions, and the director cannot say anything.

If the resulting drawing is good, move on. Otherwise, go through one round of revision where the director writes down a new set of commands. Other than providing the new commands, however, the director and artist should not talk.

3. Change roles and repeat the experiment. This time, however, the artist and director should discuss the meaning of the set of 10 commands before the director writes down the set of instructions. Otherwise, don't discuss the instructions once they are written.
4. Write down your set of 10 commands and their meaning as concisely as possible (e.g. put them on a web page). This constitutes a protocol for communication. After writing down the protocol, do one more director/artist activity (revise your protocol, if you find any problems).
5. Find a different partner. Repeat the process of the director describing a shape (in writing) and the artist trying to execute the commands. When you are the director, use the protocol you helped to develop.
6. The writeup for this homework should be the protocol you helped to develop and an analysis of whether it was good for describing a shape to another person.
• What were its strengths or weaknesses?
• Did you parameterize any of the commands?
• What were the parameters and how were they used?
• Of the two protocols you used, which was better and why?
• How did the first director/artist task compare to the same task with the protocol?
• How much information was in the protocol versus the list of commands? Did you have any commands like "draw a face"?