Week 7

Algorithmic Thinking

What is an algorithm?

A specific process with enough detail to allow the instructions to be followed. […] just a precise way of explaining how to do something.


Reas, et al. (2010, p.13)

Algorithms can be defined as having four qualities.
  • There are many ways to write an algorithm.
  • An algorithm requires assumptions.
  • An algorithm includes decisions.
  • A complex algorithm should be broken down into modular pieces.

 Reas, et al. (2010, p.13)

Ada Lovelace’s diagram from “note G”, the first published computer algorithm
Sorting algorithms normalized
Diffusion-limited aggregation (DLA)

The real tools of GenArt, the underlying constants to the various tools you can use, are the algorithms. Algorithms are a part of the natural world; they have a universality that transcends medium. So while the systems capable of creating GenArt change over time, evolving as technology evolves, the algorithms remain the same.


Generative art : a practical guide using processing

Pearson (2011, p.9)

To be able to call a methodology generative, our first hard-and-fast rule needs to be that autonomy must be involved. […]

The second hard-and-fast rule therefore is there must be a degree of unpredictability.


Generative art : a practical guide using processing

Pearson (2011, p.6)

You create a system, model it, nurture it, and refine it, but ultimately your ownership of the work produced may be no more than a parent’s pride in the work of their offspring.

In addition to the programming, the human contributes one other important skill: aesthetic judgment.


Generative art : a practical guide using processing

Pearson (2011, p.4)

disrupting algorithms of control and experiment[ing] with new ways of dismantling the cis-tem.


Shabbar (2018, p.209)

Andie Shabbar, screen capture of databending from Queer-Alt-Delete.

JPEG is not just a file format, but an algorithm to compress and decompress image data (actually, the file format is called JPEG JFIF). […] If we still see an image, the JPEG algorithm has successfully rendered it.


Glitch && Human/Computer Interaction

Daniel Temkin, 2014

[Glitch art] is a more demented form of generative art: zombie algorithms stripped of their ordinary purpose or built with no clear purpose at all, set loose to twist data into strange new patterns, or to expose side-effects unwanted by their original designers


Glitch && Human/Computer Interaction

Daniel Temkin, 2014


There are many ways to write an algorithm…

and many ways to disrupt the system

Let us reverse to Week 3

Video tiles p5 sketch

Easing with sin()

Simple easing with sin() II

Polar Coordinates - Circular Motion

Polar Coordinates - Circular Motion Scale

Polar Coordinates - Spiral Motion

Polar Coordinates - Spiralling pattern

Static Wave

Looping Sine Wave

Looping Sine Wave II

DNA helix pattern

Recursion: the repeated application of a rule to successive results.


Shiffman, Nature of code


Basic recursive circles and boxes

More on recursion


The Cantor Set

Nature of Code p5js port

Make Your Own Algorithmic Art Website

Make Your Own Algorithmic Art examples

Create a grid of circles

Shift the loop to the left

Add noise to the system

Concentrate the noise

Make our terrain bumpier

Add user event


random() vs noise()

For more see here

For cellular automata (CA)

Do your assignments from the GitHub page and upload them on your process blogs!