Lost & Found


Draw an object described to you in plain language through code.


We remember the past through word and image. Oftentimes when we describe our memories to our friends, our spoken words construct an image in their mind. This image is their interpretation of our memories and inevitably it’s going to look very different from the image in our mind. Because unlike a computer programming language, the human language is spectacularly ambiguous. It is always approximative and never fully accurate.

For example, to describe a smiley face:

Human Language
Computer Language
The person is looking straight ahead and carrying a smile.
ellipse(200, 200, 100, 100);
arc(200, 215, 33, 30, 0, PI);
ellipse(180, 190, 10, 10);
ellipse(220, 190, 10, 10);

Assignment 1 explores this ambiguity in human language as well as the gap between human language and computer language. Completed in pairs of two, you will work with a partner and exchange detailed descriptions of a personal object you have lost in the past. Then based on the descriptions, you will re-create the objects for your partner in p5.js.

Your partner will be assigned to you during CC Lab. The assessment of the assignment is not dependent on the work your partner completes. Your work will be evaluated based on the code you produce and reflections you write.

Design Constraint

Canvas Size: 400 x 400px


Part 1 : Due 9/3

  1. Choose an object you have lost in the past that has meaning to you.
  2. Describe the object using plain language. It is up to you how much detail you impart, but be mindful of your own assumptions about what your partner might know about the object.
  3. Be prepared to share your written description in CC Lab on 9/3, where you will be paired with a partner. Be ready to discuss any questions you may have about the next part of the assignment.

Part 2: Due 9/7

  1. Share your description (without any reference images) with your assigned partner.
  2. After exchanging descriptions begin drawing that image on a piece of paper. Then transfer the drawing in pseudocode. Be sure to include the following technical components in your sketch:
    • 2D primitives
    • fill() and blendMode()
    • Translate(), Rotate(), Push(), Pop()
  3. Be sure to include the following information:
    • Your p5 sketch (embedded iframe)
    • Your name
    • Your partner’s name
    • The object description you received
    • Your assignment reflections
  4. Reflect upon the following:
    • The language your partner used to describe the image
    • Your interpretation of the image
    • The depiction of the image using code
    • The differences in interpretation at all stages of the assignment

Submission Guidelines

Please submit your sketch to two places:

  1. Submit the sketch to the CC Lab class Canvas Assignment 1
  2. Add the sketch to your Critical Computation portfolio