Lecturer: Martin Schneider
Credits: 6 ECTS, 4 SWS
Date: Block-Workshops
Venue: Marienstraße 7b, Room 204
First meeting: 2013-11-29


 Since this is a block workshop please make sure to sign up on the official list
 at the secretary with Daniela Dembowski until October 18th.
 In addition please send an application email to Martin Schneider
 to tell him a bit about you and what you expect from this course.

This course tackles several forms of self-organisation.
The subject is approached via exercises and experiments in the Processing programming language.

The three subject areas are:

  • Pattern Formation (Cellular Automata and Turing Patterns)
  • Dynamic Self-Organisation (Swarm-Art)
  • Self-Assembly (Geometric Physics and Chemistry)


Dieser Kurs setzt sich mit verschiedenen Formen der Selbst-Organisation auseinander.
Das geschieht in Form von Übungen und Experimenten mit der Programmiersprache Processing.

Die drei Themengebiete sind:

  • Muster-Bildung (Zelluläre Automaten und Turing Patterns)
  • Dynamische Selbst-Organisation (Swarm-Art)
  • Selbst-Konfiguration (Geometrische Physik und Chemie)


The course will be in English, unless all participants are speaking German.

Eligible Participants

Undergraduates and graduates enrolled in the faculties of Media, Gestaltung and Architecture.


Applicants should have some programming experience and feel comfortable with the Processing IDE[[wikipedia:Integrated development environment]].


To: Martin Schneider
Subject: Self-Organisation by Design /// Application

Please provide a short answer to the questions below:

  • What's your programming expertise? (Programming languages, generative works, projects ...)
  • What do you already know about self-organisation (Books you read, related courses you took)
  • What kind of computational processes are you most interested in? (Cellular Automata, Swarm Systems ...)
  • What kind of patterns in nature would you like to learn more about?


 This is an outline of the syllabus.
 The dates are fixed, but details of the course may be subject to change.
 Click on the titles to get to the subpage of each block.
Block Date Day Topics
I. Computational Systems 29.11.2013 Fri Cellular Automata
30.11.1013 Sat Particle Systems
01.12.2013 Sun Vector Fields
II. Geometric Systems 06.12.2013 Fri Swarm Art
07.12.1013 Sat Geometric Physics
08.12.2013 Sun Geometric Chemistry
III. Natural Systems 13.12.2013 Fri Patterns in Nature
14.12.1013 Sat Patterns in Society
IV. Final Showdown 19.01.2014 Sun Show us your Work


  • Regular and active participation in all three workshop blocks.
  • Working on subtasks and presenting them with documentation on the wiki and on OpenProcessing
  • Autonomous preparation of the course involving self-study of the relevant skills (such as programming in Processing)
  • Final Assignment: Individual exploration of self-organisation with documentation on the wiki


 This is the list of the workshop participants.
 Click on the names to get to get to their experiments and final projects.
 If you are a participant and you aren't on the list, go for it! 



Check out the Processing links in this wiki if you are new to Processing.
Make sure to get comfortable with the Processing IDE[[wikipedia:Integrated development environment]] before the course, so we can dive right into the code.

Virtual Classroom

Open Processing is a website for learning Processing and sharing sketches.
The virtual classroom "Self-Organisation by Design" will be used extensively both during the course, and to publish your assignments.


 Below is a list of resources provided by scientists, artists and designers,
 that rely heavily on nature inspired self-organisation in their work.

Self-Organisation Collection

Martin Schneider has created four collections of Processing sketches to give you an impression what self-organisation in software can look like.

The Nature of Code

Daniel Shiffman has published a Processing book on Natural Systems, that is available online.
Some chapters are quite relevant to the kind of systems we are going to explore in our course.

Inspired by the Nature of Code, Diana Lange did her own explorations of Natural Systems.
Her works are an excellent example of what you can achieve with Processing given the right combination of artistic and programming skills, dedication to the subject and a good eye for visual detail.

Nervous System

Jessica Rosenkrantz and Jesse Eisenberg are making use of self-organisation to generate 2D and 3D printable forms.
Their work relies on scientific models of growth, such as Diffusion Limited Aggregation and Laplacian Growth which we will explore in our course.

Jonathan McCabe

Jonathan McCabe is a scientist who uses self-organisation to create art.
His works are visually stunning and unique, and the code behind them is a well-kept secret.
However the open source community has managed to recreate some of his algorithms in Processing. We will study those algorithms and explore the kind of patterns they can create.



 This is a list of must-read books.
 Try to get them at the libary, or buy them - you won't regret it.

Self-Organization Topics

 This is a hand-picked list of resources for individual topics related to self-organisation.
 We will not be able to cover all the details in the course, but the books may come in handy for your projects.

Computational Systems

Science Books

Popular Science Books

Computer Science Books

  • Bonabeau, Eric: Swarm Intelligence. From Natural to Artificial Systems ISBN 978-0195131598
  • Ilachinski, Andrew: Cellular Automata: A Discrete Universe ISBN 978-9812381835
  • Peitgen H., Jürgens H., Saupe D.: Chaos and Fractals: New Frontiers of Science ISBN 978-0387202297
  • Floreano D., Mattiussi C.: Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies ISBN 978-0262062718

Hands-On Programming Books

  • Jacob, Christian: Principia Evolvica. Simulierte Evolution mit Mathematica ISBN 978-3920993485
  • Flake, Gary W.: The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation ISBN 978-0262561273
  • Resnick, Mitchel et alter: Adventures in Modeling: Exploring Complex, Dynamic Systems with Starlogo ISBN 978-0807740828

Coffee Table Books

  • Wolfram, Stephen: A New Kind of Science ISBN 978-1579550080
  • Trefethen, Lloyd N., Embree Kristine: The (unfinished) PDE Coffee Table Book online (unpublished)

Media Art, Craft and Architecture

Geometric Systems

Popular Science Books

Mathematics of Folding

  • O'Rourke Joseph: How to Fold It: The Mathematics of Linkages, Origami and Polyhedra ISBN 978-0521145473
  • Demaine, Erik; O'Rourke, Joseph: Geometric Folding Algorithms: Linkages, Origami, Polyhedra ISBN 978-0521857574

Mathematics of Tiling

  • Grünbaum, B., Shepard G.C.: Tilings and Patterns ISBN 978-0716711933
  • Bigalke Hans G.: Reguläre Parkettierungen. Mit Anwendungen in Kristallographie, Industrie, Baugewerbe, Design und Kunst ISBN 978-3411167111

Geometric Programming

Evolutionary Design

Media Art, Craft and Architecture

Natural Systems

Algorithmic Beauty

Fractal Growth


Collective Behaviour

Simulating Society

  • Epstein, Joshua M.: Growing Artificial Societies: Social Science From the Bottom Up ISBN 978-0-262-55025-3
  • Batty, Michael: Cities and Complexity: Understanding Cities with Cellular Automata, Agent-Based Models, and Fractals ISBN 978-0262524797
  • Schweitzer, Frank: Brownian Agents and Active Particles: Collective Dynamics in the Natural and Social Sciences ISBN 3-540-43938-2

Popular Science Books

Coffee Table Books


 This is a list of recommended books for the Processing language.
  • Bartmann, Erik: Processing: kreativ programmieren mit Processing; für Designer, Künstler und Geeks; visuelle Welten gestalten ISBN 978-3-89721-997-7
  • Greenberg, Ira Processing: Creative Coding and Computational Art ISBN 9781590596173
  • Hartmut Bohnacker, Benedikt Groß, Julia Laub (herausg.: Lazzeroni, Claudius): Generative Gestaltung: Entwerfen. Programmieren. Visualisieren. ISBN 978-3-87439-759-9
  • Maeda, John: Creative Code: Ästhetik und Programmierung am MIT Media Lab ISBN 3764371080
  • Maeda, John: Maeda@media ISBN 0500282358
  • Noble, Joshua: Programming interactivity: a designer's guide to processing, Arduino, and openFrameworks ISBN 0-596-15414-3
  • Pearson, Matt: Generative Art - A Practical Guide Using Processing, 2011 Manning, ISBN 978-1935182627
  • Reas, Casey; Fry, Ben: Processing: A Programming Handbook for Visual Designers and Artists ISBN 978-0262182621
  • Reas, Casey; McWilliams, Chandler: Form+Code in Design, Art, and Architecture ISBN 978-1568989372
  • Shiffman, Daniel Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction ISBN 9780123736024
  • Terzidis, Kostas: Algorithms for visual design using the processing language ISBN 978-0-470-37548-8

Further Reading

 There are a couple of books in the Semesterapparat of Things that organize themselves, that you might want to flip trough:

Semesterapparat WS2013 (Limona Empore bis 15.02.2014)