Where art meets algorithms
Where art meets algorithms
For 10+ years, students of computer science at Masaryk University’s in Brno have explored the intersection of algorithms and aesthetics through Generative Design.
We see code not just as a tool, but as a creative material—capable of shaping motion, form, and interaction. Every year, students of our course use algorithms to create living artworks: interactive installations, projections, and other audio-visual experiments that defy categorization.
Explore our evolving archive of generative digital art—designed, coded, and exhibited by computer scientists.
See our latest projects
What is generative design?
Generative design is not about drawing shapes—it's about writing rules. Rather than crafting a final form directly, we design a system that produces results for us.
It's a methodology, a process.
The designer doesn't sculpt the work—they sculpt the logic, and let the system take over.
In traditional design, we create products. In generative design, we create systems that create products. If the system can run autonomously and surprise even the designer, then the process becomes truly generative.
This opens space for exploration. We tweak the rules. The system outputs something new. We reflect, revise, and let it run again.
Then what is generative art?
Generative art is simply the art made by this process.
It shifts the artist's role: from creator of form to creator of logic, from sculptor to system designer. And with that shift, fascinating questions can arise:
If the autonomous system creates the work based on our rules—who is then the creator of the piece?
How is it different from other digital art?
Generative art isn’t about using digital tools to create—it’s about building them.
Instead of manipulating pixels, artists program systems. Those systems may involve randomness, rules, inputs from the world, spectators, or processes that evolve over time.
p.draw = () => {
p.background(255);
let time = p.millis() / 2000;
circles.forEach(c => {
let radius = c.baseRadius + 15 * p.sin(time * 2 + c.phaseOffset);
let fillAmt = (p.sin(time * 3 + c.phaseOffset) + 1) / 2;
if (fillAmt > 0.5) {
p.noStroke();
p.fill(baseColor);
} else {
p.noFill();
p.stroke(baseColor);
p.strokeWeight(3);
}
let yPos = c.y + 20 * p.sin(time * 1.5 + c.phaseOffset * 1.3);
p.circle(c.x, yPos, radius * 2);
});
};
Does it need AI? Or fancy tech?
Not at all.
Generative art isn’t about specific technologies. It's about handing over some control to a defined system—regardless of whether that system is powered by machine learning, randomness, biology, or simple loops.
In fact, examples of generative thinking long predate computers: from Mozart’s Dice Game to the geometric tiling patterns in Moroccan architecture, artists have been creating with rules, chance, and systems for centuries.
What makes it art?
It’s not what the piece looks like. It’s how it came to be.
Delegating creation to a system creates unpredictable, beautiful, alive, strange outputs.
The artist’s role in the production process is closer to that of a curator than a creator.
Why do we care about this?
Because this way of working changes how we think.
Learning to program—and to think in systems—teaches us to be creative, yet analytic. We stop seeing computers as just tools and start using them as co-creators, as collaborators.
It’s not just art—it’s a new way of making. The computer ceases to be a tool and instead becomes a medium.
Lets explore this new medium together.