Generating Surprise with Scratch and TurtleArt!


Generative art refers to art that is created by a system that operates autonomously. The artist may create the system, and/or set some parameters that affect the outcome, but the result is created, at least in part, by the system rather than directly by the artist. Generative art systems are frequently computer programs, although biological, social, or other systems may also be used to generate art.

art
shapes

Similarly, generative music refers to music produced by a system, which could be a computer program. The composer creates the system that generates the music.

In this workshop, you will use Scratch and TurtleArt to explore generative art and music

An important characteristic of generative art works and music is the surprise we encounter while making them. That is, you never know precisely what will happen. Intriguingly, since the outcome of a generative art or music system is not fully predetermined, variations are expected and surprising! You can think of this like a good conversation—you don’t know exactly what your partner is going to say, and the serendipity of the exchange is an important reason for having the conversation in the first place. Similarly, you don’t know (precisely) what you’re going to get from a generative art experience. This emergent serendipity is one of the most wonderful things about making generative art.

rain
drift


The workshop will introduce generative art and music as an activity in itself, but will also encourage you to iterate on the artful surprises that you can generate with  Scratch and TurtleArt.

This workshop is for teachers and anyone else interested in generative art and music. The material is suitable for students ages eight and older. Some prior experience and familiarity with Scratch and/or TurtleArt is a helpful foundation for participation.

Resources

Scratch Studio for the Generating Surprising Art Through Coding workshop at ISTE 2019: https://scratch.mit.edu/studios/10268035/
Scratch Studio for the generative art workshop at the 2018 MIT Scratch Conference: https://scratch.mit.edu/studios/5207280/
Scratch Studio for a similar workshop at the 2016 MIT Scratch Conference: https://scratch.mit.edu/studios/2941611/
Scratch Studio for generative art created in the Families Learning Together project at Texas State University in San Marcos: https://scratch.mit.edu/studios/4326022/
Scratch Studio for the Generating Surprising Art and Music with Scratch workshop at ISTE Live21: https://scratch.mit.edu/studios/29782566/

All about TurtleArt
Turtle Art app
TurtleArt reference guide
ArtLogo (a text-based equivalent of TurtleArt)
ArtLogo help


Articles about Generative Art

Wikipedia article on Generative Art
What is Generative Art?
by Phillip Galanter
Generative Art for All by Michael Tempel

Articles about Generative Music

Introduction to Generative Music
How Generative Music Works
Brian Eno on Music that Thinks for Itself
Fifty Years Of Steve Reich's 'It's Gonna Rain'
JavaScript Music Systems - a guide to creating generative music

Web-based Generative Art tools

Interactive web drawing
Chromata

Examples of Generative Art (computational)

Echophon (a collection on tumblr)

Kyle Stewart
Sean Justice, Five Lines Option & Seven Lines
The Game of Life - Emergence In Generative Art is an exhibition that is a tribute to John Conway. Here is an essay that accompanies the exhibition.
Vera Molnár's website
Vera Molnár’s Artwork revisited using Python

Note: a Google search on “generative art” will return thousands of examples!

Artists who might be considered exemplars, or pioneers of Generative Art (non- or pre-computational)

Hans Haacke
John Cage
Ellsworth Kelly
Sol LeWitt
William Burroughs

Other Resources

Turtle Art is a blocks programming environment for creating drawings and for explorations at the intersection of art, mathematics, and programming
Scratch is a programming language and online community where you can create your own interactive stories, games, and animations -- and share your creations with others around the world.
MediaMilitia (introduction to other tools)
Processing for generative art (Processing is a java based programming language often used by artists and designers)

Association

Society for Generative Art