Computational Systems for Visual Art and Design
Computational systems of rules, relationships, and behaviors can extend traditional art and design practices or support new creative workflows and outcomes. In this course, we will explore the creation of computational systems for visual art and design. Following a studio format, we will learn creative coding platforms and algorithms to create visual works that are flexible, dynamic, and generative. In the process, we will touch on the design philosophy and abstractions of existing creative coding platforms and examine methods to create alternatives. Students will learn basic approaches to modify creative programming languages and frameworks or develop new software interfaces for visual expression. Technical production will be complemented by readings on computational art and design theory and review of seminal works in computational art and design.
- Jennifer Jacobs | jmjacobs (at) mat (dot) ucsb (dot) edu | Elings 2215
- Office Hours: Wednesdays 13:00-15:00 by appointment only
- Review last week's project
- Introduce new topic area
- Technical instruction and coding activity
- Introduce reading assignment
- Discuss reading
- Instruction supplemental
- Project assignment
- In class working time/ peer and instructor support
Week One: Init
Introduction to the course and syllabus, questions activity, introduction to Processing and Github.
September 26 Detail
Week Two: Procedure and Repetition
Discussion: Computational Repetition and Rhythm in Art and Design. Practice: Loops to generate repeating form and pattern. Project: Create a repeating wallpaper.
October 1 Detail
October 3 Detail
Week Three: Parameterization and Systems
Discussion: Capturing design intent and design patterns in code. Practice: Using variables to create degrees of freedom in a design. Creating basic user interfaces to tune parameters. Project: Create a parameterizable form with a basic tuning interface.
October 8 Detail
October 10 Detail
Week Four: Generativity
Discussion: Reconciling design intent with generative processes. Practice: Sculpting noise, external data, and autonomous processes. Project: Create a generative series with 10 variations.
October 15 Detail
October 17 Detail
Week Five: Dynamic Art and Design
Guest Lecture: Sarah Roselena Brady
Discussion: Dimensions of expression for dynamic art. Practice: Creating interactivity for visual expression with code. Project: Create a drawing tool.
October 22 Detail
October 24 Detail
Week Six: Interface
Discussion: Designing user interfaces for creative expression Practice: Extending user interface design frameworks Project: Create a personal color picker.
October 29 Detail
October 31 Detail
Week Seven: Abstraction
Discussion: Building domain-specific programming abstractions Practice: Object-oriented programs to support multiple design applications. Project: Create a Processing programming library and a set of example projects. Draft a proposal brief for your final project.
November 5 Detail
November 7 Detail
Week Eight: Digital/Physical
Discussion: Final Projects Planning. Integrating Manual and Procedural Expression Practice: Creating computational designs that can be physically fabricated Project: Create a physical drawing based on a Processing Sketch.