Homework 03

Due: 2024/09/30 - 5PM

Programming (10 points)

Intro:

This assignment is an opportunity to practice with loops and other commands that we use to get the computer to do repetitive tasks. The concept of loops is not that difficult to understand at a high level: “repeat this code X times”, but in practice we always have to think about small “gotchas” and corner cases.

This article has interesting references of artists that used repetition in their process, and anyone who has ever done any kind of graphic design knows how important it is to master “The Grid”.


Getting Started and Submitting:

For all of the exercises we’ll start by cloning our template and setting up our GitHub app to pull (download) our repo and then push (upload) the results.

You’ll be turning in 2 links for your sketches, so name your repositories HW03A and HW03B.

We are not interested in replicating exact shapes and aspect ratios, and since the computer is gonna be doing all the work of filling our canvas we want to use the whole browser window with: createCanvas(windowWidth, windowHeight) and use the whole screen.

Like last assignment, please enable GitHub pages on your GitHub repos and use Brightspace to submit GitHub links to both of your repositories.

Include any paper/tablet drawings that you make in your Brightspace submission.


Evaluation

This assignment will be graded on a scale from 1 to 10, taking the following criteria into account:

  • Compliance: work follows the requirements specified in the assignment description.
  • Implementation: work shows evidence of understanding programming concepts and you are fully using them to express your ideas.
  • Thoughtfulness: project demonstrates your personality and it’s not a straightforward re-implementation of someone else’s idea.
  • Craft: code and results show care and consideration for presentation and professionalism, and work doesn’t look like it was rushed.

HW03A

Warm Up: The fake Yayoi Kusama (5 points)

Using nested for() loops, replicate the following pattern. Since this is a very regular pattern you should be able to get something pretty close.

HW03B

Make an Art: Experiments with loops (5 points)

Once we start looking for gridded shapes and patterns, we’ll see them everywhere:

Some are more regular than others, and required less loops. Others are like the Kusama-inspired pattern above and might require a few sets of loops to fully express.

For this exercise, create a gridded pattern out of simple or composite shapes. You can start with the previous pattern and modify the skip distance, color, size, quantity or type of shape. Or, you can come up with your own design, or even try to implement some classic tile patterns.

Make it your own. Think about colors, sizes, composition… what could this pattern represent, if anything ?

Draw out a simpler version of the pattern on a piece of paper/tablet. Think about the sizes, distances and skips of the shapes before writing any code.

We’ll see some techniques next week to start breaking away from fully regular patterns, but for this exercise you can explore variations by having overlapping sets of patterns.


Tips and Hints:

HW03A:

This pattern could be done with one set of nested for() loops and some tricky math using division remainders, but the more straightforward way is to break up the pattern into multiple overlapping sub-patterns, each with its own set of nested for() loops.

For the smaller circles: since they are of the same color, some of them can actually be drawn on top of or behind the larger ones.

For the larger ones: if taken as one pattern, the larger ellipses follow a checkerboard logic, where every other row (and column) is the same. But, you can think about splitting them up into two patterns, where the pattern made by the even rows is just like the one made by the odd rows, but shifted (translate()) down and to the right.

Doing it like this ends up taking 3 sets of nested for loops.

Read & Respond (5 points)

Is there just one technology? Is there just one way to learn, create or engage with technology?

Keep these questions in mind while you read this week’s text, do a bit of research and write your 200-word response:

1. Glitch Feminism: A Manifesto by Legacy Russell
Introduction (pdf pages 14 - 20)
2. Cyberfeminism Index by Mindy Seu

While relevant to discussions regarding media literacy and reasons to learn programming, our first reading presented a very particular point of view, modulated by the author’s gender, social position and geographical location. It did recognize that the world of technology and programming is more plural and “messy” than most people acknowledge, but it didn’t explicitly address any issues of social, racial or historical inequalities. So, this week we will take a look at the “messy” worlds of cyberfeminism to get an introduction to other ways of “reading” technology.

There is a short reading that is a bit more optimistic while giving reasons for being more active in how we think about technology, and then we’ll do a bit of research on the Cyberfeminism Index. Start by reading about the project, and then, scroll through the index on the main page, select 5 - 10 entries that you find interesting, and create your personal Cyberfeminism collection. As you click on entries on the home page, a column will pop up on the right side of the screen with your selections. After you’ve selected 5 - 10 entries you can click on the download button to generate a pdf with your choices.

Cyberfeminism is not just about women or feminism. It’s about ways of understanding technology from different perspectives.

As always, your response should be personal, meaning that you should be expressing your views and opinions about the text and not just summarizing it. You can use the following rubric to guide your response:

  • Short summary: in one or two phrases, what is the Glitch Feminism text about?
  • Did you learn something new? What?
  • What do you agree or disagree with? Why?
  • Why did you select those entries from the Cyberfeminism Index? It can be a simple reason like: “I’m interested in the latin american perspective on technology”, or “I want to learn more about the history of science”, or “I’m interested in gender and social equality in technology and society”.

Please submit your response via Brightspace, and attach your Cyberfeminism Index collection pdf.

Grading for the readings will be assigned following these considerations:

Response Grade
Only summarized the reading 1 point
Answered some of the prompts, but I can’t tell whether
you actually read the text, or what you thought
2 points
Answered enough prompts to express opinions 3 points
Answered enough prompts to express opinions
and included the pdf
5 points