What is an Algorithm?

Data-Design Dictionary
A dictionary to illuminate data-driven generative design and creative coding.


An algorithm is a precisely defined set of rules for calculating operations that are used to solve a specific task. It is language-independent and can be implemented in any programming language.[1] The algorithm is not to be equated with a program. It is (in the most cases) rather part of a program, which can contain many different algorithms.

The execution of an algorithm is cyclical. In the context of both generative design and creative coding, it begins with an abstract idea which, expressed via rules and propelled by data, is translated for the computer in such a way that it can generate form from it. This form can then be returned to humans in a kind of feedback loop, giving them the opportunity to evaluate it and then redesign or change it iteratively (a process of repetition in which only slight changes are made) using adapted rules.[2]

Map of relevant entites and relationships
This map is interactive.
Hover over elements to learn more. Click-and-drag elements to move them around.
[1] Kurt Mehlhorn, Peter Sanders: Algorithms and Data Structures. The Basic Toolbox, Berlin/Heidelberg 2008, S. 27f.
[2] Hartmut Bohnacker, Benedikt Groß, Julia Laub, Claudius Lazzeroni (Hg.): Generative Design: Visualize, Program and Create with Processing, Mainz 2009, S. 460f.
The bigger picture of designing and branding with data: