Algorithms as Code

Generative Art & Creative Coding

Where mathematics becomes visual poetry

Wingston Sharon Wilson | Creative Coding & Technology

What We'll Explore Today

๐ŸŽจ

The Shift

From algorithms as tools โ†’ algorithms as instruments of aesthetic exploration

๐Ÿ’ป

The Medium

Code as creative canvas: loops, noise, recursion as artistic materials

๐ŸŒ€

The Journey

Eight sessions from fundamentals to sophisticated generative systems

โœจ

The Outcome

Your own algorithmic aesthetic and portfolio of generative works

The Computational Colonization

"Code has been colonized by efficiency, optimization, and utility. What if we reclaimed it for pure aesthetic exploration?"

โšก Efficiency over expression: Code judged only by performance

๐Ÿ“Š Utility over beauty: Algorithms serving only practical ends

๐ŸŽฏ Solutions over questions: Missing the poetic potential of computation

๐Ÿšซ "I'm not technical": Code gatekept from creative practitioners

What is Generative Art?

Algorithmic Aesthetics Defined

๐Ÿค– Algorithmic Authorship

Artist writes rules; computer generates endless variations

๐ŸŽฒ Controlled Randomness

Balancing intention with surprise through probability

๐ŸŒŠ Emergent Beauty

Complex patterns arising from simple rules

Computation as creative medium, not just tool, but artistic partner

Pioneers of Computational Art

Standing on the Shoulders of Algorithmic Giants

๐Ÿ–ผ๏ธ

Vera Molnรกr

1960s plotter drawings. First algorithmic artist, exploring systematic chance

๐ŸŽจ

Casey Reas

Co-creator of Processing, exploring emergent software structures

๐Ÿ’ซ

Manfred Mohr

Algorithmic geometry since 1969: hypercubes & n-dimensional art

"The computer is not a tool, it is a medium." (Casey Reas)

p5.js: Your Creative Canvas

Why This Tool for Generative Art?

โœจ Beginner-Friendly

  • No installation, runs in browser
  • Immediate visual feedback
  • Gentle learning curve
  • Forgiving syntax
  • Built for artists, not engineers

๐Ÿš€ Powerfully Expressive

  • Full JavaScript ecosystem
  • Rich drawing API
  • WebGL for 3D and shaders
  • Easy export (web, print, video)
  • Vibrant creative community

Designed to make coding accessible for visual artists

Core Building Blocks of Generative Art

Your Algorithmic Palette: Part 1

๐Ÿ” Loops (Rhythm)

Repetition creates pattern, structure, visual rhythm

for (let i = 0; i < 10; i++) {
  circle(i * 50, 200, 40);
}

๐ŸŽฒ Randomness (Surprise)

Controlled chaos: probability as creative decision

let x = random(0, width);
let y = random(0, height);

๐ŸŒŠ Noise (Organic)

Natural-feeling variation, smoother than random

let n = noise(x * 0.01);
let y = n * height;

Core Building Blocks of Generative Art

Your Algorithmic Palette: Part 2

๐ŸŒ€ Recursion (Self-Similarity)

Functions calling themselves: fractals and trees

function branch(len) {
  if (len > 4) {
    branch(len * 0.7);
  }
}

๐Ÿ“ Math Functions

sin, cos, tan: mathematics as visual generator

let x = cos(angle) * radius;
let y = sin(angle) * radius;

๐Ÿ”„ Transformations

Translate, rotate, scale: coordinate magic

translate(x, y);
rotate(angle);
scale(2.0);

The Generative Creative Process

How We Actually Make Art with Code

โœ๏ธ

Write Code

Express an idea algorithmically

โ–ถ๏ธ

Run

Execute and observe output

๐Ÿ‘๏ธ

Observe

What surprised you? What's beautiful?

๐Ÿ”ง

Adjust

Tweak parameters, refine rules

๐Ÿ”

Repeat

Iterative creative feedback loop

"We don't always know what we're making until we see it run."

8-Session Journey

From First Loop to Sophisticated Systems

Sessions 1-3

Foundations

Loops, randomness, noise, color theory, basic patterns

Sessions 4-5

Dynamics

Physics, particles, flocking, emergence, autonomous agents

Sessions 6-7

Complexity

Cellular automata, L-systems, fractals, generative typography

Session 8

Integration

Interactivity, user input, portfolio preparation, export techniques

Progressive curriculum. Each session builds on previous concepts

Sessions 1-3: Foundations

Building Your Generative Vocabulary

๐Ÿ”„ For-Loops Create Patterns

  • Nested loops for grids and tessellations
  • Loop variables as design parameters
  • Breaking regularity with modulo operations

๐ŸŒˆ Color Spaces & Palettes

  • HSB vs RGB: choosing the right color model
  • Algorithmic palette generation
  • Color interpolation and gradients

๐ŸŒŠ Noise Functions Create Texture

  • Perlin noise for organic movement
  • Flow fields: noise as directional force
  • Mapping noise to visual properties

Sessions 4-5: Dynamics & Emergence

When Algorithms Come Alive

โš›๏ธ Physics Simulations

  • Velocity, acceleration, forces
  • Gravity, friction, springs
  • Collision detection and response

โœจ Particle Systems

  • Arrays of autonomous agents
  • Lifespan and regeneration
  • Visual effects: trails, explosions, organic growth

๐Ÿฆ Flocking Behavior

  • Three simple rules create complex movement
  • Separation, alignment, cohesion
  • Emergence: the whole exceeds the parts

Sessions 6-7: Advanced Techniques

Sophisticated Generative Systems

๐Ÿงฌ Cellular Automata

  • Conway's Game of Life and beyond
  • Rule-based evolution of grid states
  • Designing custom automata rulesets

๐ŸŒฟ L-Systems & Fractal Growth

  • Lindenmayer systems: plant-like growth
  • Grammar-based generation
  • Recursive structures: trees, ferns, coastlines

๐Ÿ”ค Generative Typography

  • Text as visual element: deformation, animation
  • Algorithmic lettering and custom fonts
  • Data-driven text composition

Session 8: Interactive Systems & Portfolio

Bringing It All Together

๐Ÿ–ฑ๏ธ Interactivity

  • Mouse and keyboard input
  • Touch and gesture
  • Webcam and microphone
  • Responding to user in real-time
  • Designing intuitive interfaces

๐Ÿ“ฆ Export & Portfolio

  • High-res image export for print
  • Video and GIF creation
  • Web deployment (GitHub Pages)
  • Portfolio best practices
  • Presenting your algorithmic aesthetic

Leave with a complete portfolio of generative artworks and the skills to keep creating

Is This Workshop For You?

Welcome If You're...

๐ŸŽจ Visual Artists Curious About Code

You make art with traditional media but wonder what computational tools could unlock

๐Ÿ’ป Programmers Seeking Creative Outlets

You code for work; now you want to code for pure aesthetic joy

Is This Workshop For You?

Also Perfect For...

๐Ÿ–Œ๏ธ Designers Adding Generative Tools

Expand your practice with algorithmic design, procedural assets, dynamic branding

๐Ÿ“ Math/Algorithm Enthusiasts

Fascinated by the intersection of mathematics, algorithms, and visual beauty

"No prior programming experience required, just curiosity and willingness to experiment."

Transformations & Outcomes

Skills & Sensibilities You'll Develop

01

Write JavaScript for Visual Compositions

Fluency in p5.js: turn ideas into running code that generates beauty

02

Implement Generative Techniques

Noise, randomness, recursion, emergence: your algorithmic toolkit

03

Develop Personal Algorithmic Aesthetic

Discover your unique computational style through experimentation

Transformations & Outcomes

Knowledge & Community

04

Understand Computational Art History

Context from 1960s pioneers to contemporary generative artists

05

Create Interactive & Animated Systems

Real-time, responsive works that live on the web

06

Export Work Professionally

High-res prints, web galleries, video documentation, installations

Ready to Begin Your Generative Journey?

Three Simple Steps to Register

1

Send an Inquiry

[email protected]

Include: your background, interests, any questions

2

Receive Details

Session-by-session breakdown, upcoming dates, sliding scale pricing, access details

3

Register & Create

Choose your rate, secure your spot, and start your algorithmic art practice

Questions? We're here to help you discern if generative coding is right for you.

Algorithms as Aesthetic

Code as Canvas

Mathematics as Medium

"This is computation reclaimed for beauty, algorithms in service of aesthetic exploration, code as medium for visual poetry."

Algorithms as Code
Generative Art & Creative Coding

Wingston Sharon Wilson | Creative Coding & Technology
[email protected]