CS 105 - Understanding Our Algorithmic World

CS 105 - Exercise Six

Goals

  • Gain some experience breaking down a problem

Prerequisite

There is no starter code for this exercise, so go ahead and visit https://snap.berkeley.edu/snap/snap.html and make sure you are logged in.

Objective

In this exercise, you are going to do your own deconstruction to try to make your own copy of one of Waclaw Szpakowski's works.

Your goal is to get the sprite to draw this image:

Szpakowski image

The approach

Try to emulate the process you watched me go through

  • Look for repeating patterns. Notice that in his drawing you can usually identify there are layers of repetition -- there are usually small motifs that repeat to make up larger motifs, which themselves are repeated.
  • Identify a common size that you can use as a relative measure for the shapes (i.e., many shapes are multiples of the size)
  • Write blocks to encapsulate repeating patterns

Collaboration

For this exercise, we will work collaboratively. Pair up with someone near you.

Start by talking through your observations and working with pen and paper. Don't start coding until you have a solid idea of what you are going to do.

Collaboration and social distancing

Here is the tricky part... We need to collaborate while still maintaining good distancing. Please do not move your chairs to be right next to one another. Short interactions closer than six feet are okay, but we should endeavor to not be in close proximity for more than a few minutes.

So... you will need to speak up a bit. I will also fire up Zoom and create breakout rooms so you can share screens, though we will mute mics to not raise the volume to high. The annotation tools will probably prove useful for marking up the artwork and communicating.

It will be... different, but I am eager to see if we can find ways to work together.

What I will be looking for

  • When the user clicks the green flag, the drawing should be drawn
  • The drawing should be sized proportionally and fit on the stage

Submitting

Share the project using the instructions from exercise 1.

Only one person from each group needs to submit. When you submit the assignment you wil have the opportunity to create a group -- please remember to include your partner(s) in the group.

Visit the exercise page on Canvas to submit the URL.