A lesson plan for middle grades and up, conducted over 3 to 6 45-minute periods.
6-8.AP.12 Design and iteratively develop programs that combine control structures and use compound conditions.
6-8.DA.9 Test and analyze the effects of changing variables while using computational models.
6-8.IC.21 Discuss issues of bias and accessibility in the design of existing technologies.
Either as a class or as individuals, explore The Art of Sol Lewitt.
Is this art? Is it good art? Which part of it is the art? Do you like it? How does it make you feel?
As a class, read the instructions for Wall Drawing 273. Which words have unambiguous mathematical definitions? Which words are subject to interpretation? Where is the bias? [Example answers: People may interpret color words differently, length and number of lines are left up to the installer, instructions are written in English, "draftsman" is gendered.]
Predict what this algorithm will produce. What is the range of possible solutions?
Materials: One sheet of graph paper per student. Colored pencils, crayons, or markers in blue, yellow, and red.
The task: You are a team of draftspeople responsible for installing this artwork on paper "walls." The 6-inch grid has already been done. What will your team have to agree on before you start? [Example answers: the number of lines, the exact colors, the aesthetic quality of a unified artwork.] How will you ensure that the instructions are followed correctly?
Wall Drawing 273 (Sol Lewitt 1975)
A six-inch (15cm) grid covering the walls. Lines from corners, sides, and center of the walls to random points on the grid.
1st wall: Red lines from the midpoints of four sides;
2nd wall: Blue lines from four corners;
3rd wall: Yellow lines from the center;
4th wall: Red lines from the midpoints of four sides, blue lines from four corners;
5th wall: Red lines from the midpoints of four sides, yellow lines from the center;
6th wall: Blue lines from four corners, yellow lines from the center;
7th wall: Red lines from the midpoints of four sides, blue lines from four corners, yellow lines from the center;
Each wall has an equal number of lines. (The number of lines and their length is determined by the draftsman.)
As a class or individually, explore Solving Sol. This website is a collective effort to implement all of Lewitt's art using computers. What changes about art when a computer is used? Is it still art? What are the benefits and pitfalls of computer-generated art?
An algorithm is an ordered set of steps for completing a specific range of tasks. The agent carrying out the algorithm may be a person, a computer, or a complex system. An algorithm can have bias in it, and the, assumptions and approximations the programmer makes when implementing the algorithm can introduce more bias.
What does it mean to implement an algorithm for a computer to carry out? What assumptions and approximations do you have to make in order to get it to work? (Choose one method below)
Either as a class, in pairs, or individually, solve the Parsons Problem by putting all the blocks together in the right order. (Solution below.)
Ten thousand lines about 10 inches (25 cm) long, covering the wall evenly. June 1971
Predict: Project this Starter Project code so everyone can see it, but don't give students the link yet. Read the code together, line by line, and predict what the output will look like. You can have students draw or describe their predictions. There is no need to be correct.
Run: Give students the link to the code. Have them run it several times by pressing the green flag, and compare the actual output to their predictions.
Investigate: As a class, discuss the
Modify: What about this code can you change? Fiddle with it so you understand what each line of code controls.
Make: Change the code to reflect the description on the left. What assumptions, approximations, and biases are introduced when you translate a wall drawing to pixels on a screen? Use the Finished Example as a guide, but there are many possible solutions.
In pairs, create your own piece of algorithmic art in Scratch, inspired by Solving Sol or Zentangles.
Have students present their work to the class and explain how their code works. If presenting in pairs, have one student point and the other talk. Reflect on the presentations with one or more of these discussion prompts:
Find another team that solved the problem the same way as you. Is their code identical, or are there small differences?
When art is made by a computer, who is the artist? The person who writes the algorithm, the person who writes the code, the person who runs the code, or the person who chooses which version to share?
Choose another team to share your project with. Take turns explaining your code. Find one thing you can learn from each other, and incorporate it into your program.
What constitutes an algorithm? Where else in your life do you encounter algorithms?