Vibe Coding: AI-Powered Creative Coding for Generative Art

Sign Up

Syllabus Suggestions?

If you have suggestions feel free to edit the syllabus in Google Docs here.

Course Outline & Syllabus

Course Overview

This 13-week course explores the intersection of AI, creative coding, and generative art. Students will learn to create dynamic, responsive, and aesthetically compelling digital art using various programming environments, while leveraging AI tools to enhance their creative workflow. The course is designed for creatives interested in computational art, with no prior programming experience required.

Since vibe coding still involves language, there’s still terminology and thinking about how to structure and organize code. This includes understanding how processing works and thinking in layers. 

Will be piloting an initial cohort class of 10 people as a trial run. Why do an interactive class? It’s fun to learn together, keep each other committed and build community.

Course Objectives

  • Understand the principles and history of generative art

  • Develop proficiency in multiple creative coding environments (Processing, p5.js, OpenFrameworks)

  • Master techniques for 2D and 3D animation, mixed media collaging, and photo/video manipulation

  • Learn to collaborate effectively with AI tools like Claude 3.7 Sonnet and Cursor AI

  • Create a portfolio of generative art projects demonstrating technical skill and aesthetic vision

Module 1: Foundations of Generative Art (Weeks 1-2)

Week 1: Introduction to Generative Art

  • History and Evolution

    • Early algorithmic art: Vera Molnár, Frieder Nake, and Georg Nees

    • Interactive art pioneers: Myron Krueger and Jeffrey Shaw

    • Contemporary generative artists: Casey Reas, Zach Lieberman, Refik Anadol

  • Core Concepts

    • Algorithmic thinking and computational aesthetics

    • Randomness, emergence, and complexity

    • Rule-based systems and creative constraints

  • Lab: Setting up development environments and introductory sketches

Week 2: Creative Coding Basics

  • Introduction to Processing

    • Basic syntax and drawing primitives

    • Variables, loops, and control structures

    • Color theory for digital applications

  • p5.js Fundamentals

    • Web-based creative coding

    • DOM manipulation and interactive elements

    • Sharing and distributing web-based art

  • Introductory prompting for both processing and p5 code. 

    • Should I re-roll or debug?

    • Thinking through parameters and variables. 

  • Lab: Creating simple generative compositions with randomness and patterns

Module 2: 2D Animation & Generative Systems (Weeks 3-5)

Week 3: Particle Systems & Motion

  • Physics-Based Animation

    • Newton's laws in code

    • Forces, acceleration, and velocity

    • Creating particle systems

  • Emergent Behaviors

    • Flocking algorithms (Boids)

    • Cellular automata

    • L-systems and fractal growth

  • Lab: Building a dynamic particle system visualization

Week 4: AI-Assisted 2D Animation

  • Working with Claude 3.7 Sonnet

    • Prompt engineering for creative coding

    • Iterative code development with AI assistance

    • Generating and refining algorithmic ideas

  • Cursor AI Integration

    • Using Cursor for code completion and generation

    • Building complex animations with AI assistance

  • Lab: Creating an AI-collaborative animation project

Week 5: Data-Driven Visualization

  • APIs and Data Sources

    • Finding and accessing open datasets

    • Real-time data streams

    • Data parsing and normalization

  • Visual Mapping Strategies

    • Translating data to visual elements

    • Temporal and spatial representation

    • Interactive data exploration

  • Lab: Creating a data-responsive generative artwork

Module 3: Mixed Media & Collaging (Weeks 6-7)

Week 6: Digital Collage Techniques

  • Image Processing Fundamentals

    • Loading and manipulating images in Processing and p5.js

    • Pixels, filters, and blending modes

    • Procedural texture generation

  • Algorithmic Composition

    • Generative layouts and grids

    • Dynamic collaging systems

    • Texture synthesis and pattern creation

  • Lab: Creating an algorithmic collage engine

Week 7: Sound & Visual Integration

  • Audio-Reactive Visuals

    • Sound analysis and feature extraction

    • Mapping audio parameters to visual elements

    • Creating responsive audiovisual experiences

  • AI for Audio-Visual Mapping

    • Using Claude to generate creative mapping strategies

    • Developing complex relationships between sound and image

  • Lab: Building an audio-reactive visual performance system

Module 4: Photo & Video Manipulation (Weeks 8-9)

Week 8: Computational Photography

  • AI-Assisted Image Manipulation

    • Generating image processing code with Claude

    • Creating custom filters and effects

  • Lab: Developing a generative photography system

Week 9: Video Art & Real-time Processing

  • Processing for Video

    • Digital techniques such as glitch and slit scanning. 

  • OpenFrameworks for Video

    • Setting up OpenFrameworks for video processing

    • Real-time video manipulation techniques

    • Frame-based effects and transformations

  • Interactive Video Installations

    • Camera input and motion detection

    • Creating responsive video environments

    • Multi-screen and projection mapping considerations

  • Lab: Designing an interactive video installation

Module 5: StyleGANs for Creative Expression (Weeks 10-11)

Week 10: Introduction to StyleGANs

  • GAN Fundamentals

    • Understanding generative adversarial networks

    • History and evolution of GANs in creative contexts

    • StyleGAN architecture and capabilities

  • Setting Up the Environment

    • Python environment configuration

    • Installing necessary libraries (TensorFlow/PyTorch)

    • Accessing pre-trained StyleGAN models

  • Lab: Experimenting with pre-trained StyleGAN models for image generation

Week 11: Training Custom StyleGANs

  • Dataset Preparation

    • Curating training images for stylistic coherence

    • Image preprocessing and augmentation

    • Creating custom datasets from personal visual archives

  • Training Workflows

    • Transfer learning with StyleGAN

    • Training parameters and optimization techniques

    • Monitoring and evaluating training progress

  • Creative Applications

    • Style mixing and interpolation

    • Latent space exploration and navigation

    • Integrating StyleGAN outputs into other creative workflows

  • Lab: Training a mini StyleGAN on a curated image collection

Module 6: 3D Animation & Environments (Weeks 12-13)

Week 12: 3D Fundamentals

  • 3D in Processing and p5.js

    • 3D primitives and coordinate systems

    • Lighting, materials, and camera

    • Procedural 3D form generation

  • Introduction to Blender

    • Blender interface and workflow

    • Basic modeling and animation

    • Scripting in Blender with Python

  • Lab: Creating generative 3D compositions

Week 13: AI and 3D Creation

  • Model Context Protocol

    • Communicating with 3D applications through AI

    • Prompting strategies for 3D generation

    • Iterative refinement of 3D models

  • Procedural Environments

    • Generating landscapes and architectural spaces

    • Populating scenes with generated objects

    • Creating environmental animations

  • Lab: Using AI to create and manipulate 3D scenes in Blender

Module 7: Final Projects (Week 14)

Week 14: Integration & Exhibition

  • Project Development

    • Individual project consultations

    • Technical troubleshooting

    • Aesthetic refinement

  • Exhibition Preparation

    • Documentation strategies

    • Installation considerations

    • Artist statements and presentation

  • Final Showcase

    • Public exhibition of student work

    • Peer critique and feedback

    • Future directions in AI-assisted generative art

Resources & Technologies

Primary Software

  • Processing

  • p5.js

  • OpenFrameworks

  • Blender

AI Tools

  • Claude 3.7 Sonnet

  • Cursor AI

  • StyleGAN implementations

Recommended Reading

  • "Code as Creative Medium" by Golan Levin and Tega Brain

  • "Generative Design" by Hartmut Bohnacker, Benedikt Gross, Julia Laub, and Claudius Lazzeroni

  • "The Nature of Code" by Daniel Shiffman

  • "Processing: A Programming Handbook for Visual Designers" by Casey Reas and Ben Fry

  • "Creative Coding and Data Visualization with p5.js" by Kylie Lockwood

  • "GANs in Action" by Jakub Langr and Vladimir Bok

  • "Generative Deep Learning" by David Foster

Online Resources

  • The Coding Train (Daniel Shiffman)

  • Creative Applications Network

  • OpenProcessing

  • Art of Code YouTube channel

  • Generative Artistry tutorials

  • RunwayML tutorials

  • StyleGAN GitHub repositories

Assessment Criteria

  • Technical Execution (25%): Proficiency in chosen technologies and code quality

  • Aesthetic Vision (25%): Visual design, composition, and artistic coherence

  • Concept Development (20%): Depth of ideas and conceptual foundation

  • Process & Documentation (10%): Development process and documentation quality

  • AI Collaboration (10%): Effective use of AI tools in the creative process

  • StyleGAN Implementation (10%): Effective training and creative use of StyleGANs

Weekly Schedule Structure

  • Video Lectures (2 hours): Theory, history, examples, and demonstrations

  • Technical Workshop (2 hours): Hands-on instruction in specific techniques. Done virtually in real-time.

  • Lab Session (2 hours): Supervised practice and project development. Done virtually in real-time.

  • Independent Work (3+ hours): Project development and experimentation