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