University of Waterloo
Department of Fine Arts and Cheriton School of Computer Science

CS/FINE 383 Computational Digital Art Studio

A co-held offering of CS 383 and FINE 383, this is a studio course using a mixture of seminars, workshops, open studio time, and student presentations.

If you don't have the prerequisites, contact Prof. Daniel Vogel and explain your situation:


Description

An upper-level studio course to create computational projects that function as art works and aesthetic experiences. Students will work in an interdisciplinary environment to combine computer science principles with fine art technical and conceptual skills.

Learning Outcomes

This course is designed as a capstone course that combines principles and approaches from both Fine Arts and Computer Science. The course is organized to support the following objectives:

Assessment

(representative breakdown)

20%        Assignment 1: Output

20%        Assignment 2: Input

30%        Assignment 3: Final Project

10%        Pecha Kucha Presentation

20%        Participation

Schedule

(representative weekly schedule, A and B are two days each week)

1

A

Introduction

B

Seminar: Generative Art

2

A

Workshop: Generative Graphics

B

Workshop: Sound

3

A

Open Studio

Th

Open Studio

4

A

Open Studio

Th

Assignment 1 Critique

5

A

Seminar: Interactive Art

Th

Workshop: Tracking

6

A

Workshop: Data

Th

Pecha Kucha Presentations

Reading Week

7

A

Open Studio

B

Open Studio

8

A

Open Studio

B

Assignment 2 Critique

9

A

Seminar: AI Art & Mobile Art

Th

Workshop: AI

10

A

Workshop: Distributed Systems 

B

Open Studio

11

A

Open Studio

B

Open Studio

12

A

Open Studio

B

Assignment 3 Critique

Content and Requirements

Seminars

Introductions to the underlying formal and conceptual principles that will guide each assignment module. The format of each seminar will be a lecture with activities designed to support you in the creative development of your projects. These activities are designed to be flexible, responsive, and open-ended.

Workshops

An introduction to a topic based on a code library, programming technique, or algorithmic approach that will build technical skills and provide a starting place for creative exploration. The format of each workshop will be a guided overview of several topics through hands-on code demonstrations, interspersed with exercises to practice key techniques. Students will complete a small open-ended exercise at the end of each workshop and briefly demonstrate it in the next scheduled class.

Examples of workshop topics:

Assignments

All three assignments are the creation of original art works using code. There are multiple components used for assessment: a critique, an artist’s statement, video or media artifact, and code. The grade will consider a range of criteria, including, but not limited to originality, conceptual rigour, technical execution, presentation, and project documentation.

A1: Output

Drawing from the conceptual and historical background in the seminar, and techniques in the two workshops, create a generative artwork that transforms a physical, virtual, or graphical space using imagery and/or sound. 

A2: Input 

Drawing from the conceptual and historical background in the seminar, and techniques in the two workshops, create an artwork that uses a novel form of input to generate, augment, or manipulate a visualization.

A3: Final Project

Create a self-directed project that draws from your experience, knowledge and expertise. It should be conceptually rigorous, aesthetically resolved, and technically robust. Designed for a public presentation that will draw audiences from both within and outside of our field, it should be presented as an autonomous artwork that can be experienced as you envision, with or without you.

Pecha Kucha Artist Presentation

Each student will select an artist from a provided list (or get instructor permission to present on a different artist), then present an overview of the artist’s work in a Pecha Kucha style: 20 slides shown for exactly 20 seconds each (creating a fun and concise 6 minute 40 second presentation).

Participation 

Participation is an active process that combines attendance and preparation for class, engagement in classroom activities, intellectual and creative contributions to discussions, technical workshops, and open studios, as well as the development of productive, collegial relationships with others. 

Software and Hardware

p5.js

We primarily use P5.js (https://p5js.org) for technical workshops and exercises. This is an open-source JavaScript framework.

Gitlab

We use UWaterloo’s Gitlab server (https://git.uwaterloo.ca) for distributing workshop code, submitting workshop exercises, and submitting assignment materials (code, documentation).

Texts and Readings

Required

There are required readings typically associated with seminars, for example:

Galanter, Philip. Generative art theory. A companion to digital art (2016): 146-180.

Recommended Reference Texts

Son and Cox, Aesthetic Programming: A Handbook of Software Studies, 2020

Bohnacker et al. Generative Design : Visualize, Program, and Create with JavaScript in p5.js. 2018.