DMA252A: Programming Media
Syllabus
UCLA Broad Art Center 4240
Professor: Lauren Lee McCarthy (lmccart@ucla.edu)
(office hours: Tuesdays 5-6pm, Broad 3246)
LA: Jules Johnson (julesjohnston@g.ucla.edu)
Description
This course is an introduction to coding within the visual arts, with a focus on interactivity. Writing code involves learning a different way of thinking and making. We will consider interactions with other people and the environment as the starting point for understanding our interactions with code. We’ll consider the roles of race, gender, sexuality, disability, and class within an increasingly software-driven world, and strategies of response as artists and designers. Can we understand software as inherently social? The ideas and skills taught in this course set a foundation that will serve as a platform for future learning within the BA program and beyond. The class is taught as a series of workshops and discussions with demonstrations and time to work.
This course asks a few questions:
— How has software affected the visual arts?
— What is the potential of software within the visual arts?
— As a designer or artist, why would I want (or need) to write software?
— What are the power relationships, inequities, and biases embedded within software and technology?
For this foundation we will focus on six sets of ideas:
— Instructions and Statements
— Variables and Response
— Questions and Conditionals
— Repetition and Loops
— Functions and Parameters
— Data and AI
Studies
This class is built around six studies, each with a media assignment (reading + videos), a workshop, and a discussion about your finished study on the day that it’s due. Each study derives from the elements above. The final project will push one of the studies further. All studies will be completed in p5.js and are due at the start of class.
Studies may be turned in up to one week late for a one letter grade deduction off the grade. Work that is more than one week late will not be accepted. If you are absent, you are expected to turn in studies online by the deadline. It is possible that you may encounter save issues, editor or browser errors, computer crash, etc. It is highly recommended that you regularly click File > Download to save copies of your work in progress as zip files.
Expectations
Grading. Grading is based on the studies, the final project, and active participation. Focus, articulation of ideas, keeping up with the work and assignments, and contribution to class discussions are all part of participation. All work will be evaluated based on (1) the fundamental idea you develop, (2) the way the “look and feel” of the work relates to the idea, and (3) the craft, meaning the details of the images, motion, and interaction. Outstanding work will receive As, good work will receive Bs, sufficient work that does nothing more than meet requirements will receive Cs.
The numeric breakdown for all assignments follow:- Participation 10%
- Study 1 10%
- Study 2 10%
- Study 3 10%
- Study 4 10%
- Study 5 10%
- Study 6 10%
- Final project 25%
- Final project documentation 5%
Studies. Studies are due at the start of class on the date assigned via the studies spreadsheet. Studies may be turned in up to one week late for a one letter grade deduction off the study grade. Work that is more than one week late will not be accepted. If you are absent, you are still expected to turn in studies online by the deadline. Extra time will not be given for work lost due to save issues, editor or browser errors, computer crash, etc. You should regularly click File > Download to save a copies of your work in progress as zip files. It would also be wise to make a backup of these online or on an external harddrive or USB stick in case your computer is lost.
Media. Each study will be accompanied by a collection of readings, videos, and other media to look at. You are expected to read/watch/consume each item listed. Doing so will make this class much easier and more enjoyable. If it is clear you are not doing this work, your study grades will lower. All of the assigned readings from the course will be from Getting Started with p5.js or located online, you will need to purchase this textbook.
Participation. Participation is critical to passing and enjoying this class. Do the work, share your thoughts, ask questions, prepare for meetings, offer feedback during critiques. This class is meant to be a safe space in which you feel encouraged and supported in learning and taking creative risks. This means being aware and considerate of different backgrounds, perspectives, and identities. Respect each other and this space we are building together. Don’t assume, ask. Remain open, be willing to take responsibility, apologize, and learn. Help each other in this. If there are concerns please let me or Hye Min know as soon as possible.
Attendance. I have the strong expectation that you will join for each class and workshop session, but I won’t be keeping a scored attendance record this quarter. If something happens and you can't join the class, please email me. If you feel frustrated or you come across other problems, please communicate with me directly and quickly.
Commitment to Diversity and Safer Spaces
We understand the classroom as a space for practicing freedom; where one may challenge psychic, social, and cultural borders and create meaningful artistic expressions. To do so we must acknowledge and embrace the different identities and backgrounds we inhabit. This means that we will use preferred pronouns, respect self-identifications, and be mindful of special needs. Disagreement is encouraged and supported, however our differences affect our conceptualization and experience of reality, and it is extremely important to remember that certain gender, race, sex, and class identities are more privileged while others are undermined and marginalized. Consequently, this makes some people feel more protected or vulnerable during debates and discussions. A collaborative effort between the students, TA, and instructor is needed to create a supportive learning environment. While everyone should feel free to experiment creatively and conceptually, if a class member points out that something you have said or shared with the group is offensive, avoid being defensive; instead approach the discussion as a valuable opportunity for us to grow and learn from one another. Alternatively if you feel that something said in discussion or included in a piece of work is harmful, you are encouraged to speak with the instructor or TA. (tx voidLab!)
Disability Services
UCLA strives to make all learning experiences as accessible as possible. If you anticipate or experience academic barriers based on a disability, please let me know as soon as possible. It is necessary for you to register with the UCLA Center for Accessible Education so that we can establish reasonable accommodations. After registration, make arrangements with me to discuss how to implement these accommodations.
Schedule
WEEK 1 | Tu 10/3 |
Introduction Assign Study 1 |
Th 10/5 |
Lab DUE: Study 1, part 1 |
|
WEEK 2 | Tu 10/10 |
DUE: Study 1, part 2 Assign Study 2 |
Th 10/12 |
Lab DUE: Study 2, part 1 |
|
WEEK 3 | Tu 10/17 |
DUE: Study 2, part 2 Assign Study 3 |
Th 10/19 |
NO CLASS, MFA SHOW! DUE: Study 3, part 1 |
|
WEEK 4 | Tu 10/24 | Studio |
Th 10/26 |
DUE: Study 3, part 2 Lab |
|
WEEK 5 | Tu 10/31 | DUE: Study 4, part 1 |
Th 11/2 |
Lab |
|
WEEK 6 | Tu 11/7 |
DUE: Study 4, part 2 Assign Study 5 |
Th 11/9 | Lab | |
WEEK 7 | Tu 11/14 | Studio |
Th 11/16 |
DUE: Study 5 Assign Final Project |
|
WEEK 8 | Tu 11/21 |
DUE: Final Project, part 1 Individual meetings |
Th 11/23 | NO CLASS: THANKSGIVING | |
WEEK 9 | Tu 10/28 | Studio |
Th 10/30 | Lab | |
WEEK 10 | Tu 11/5 | DUE: Final Project, part 2 |
Th 11/7 | No lab. Have a nice break! | |
studies
Studies are due at the start of class on the date assigned.
Study 1: Instruct
Study 2: Text + Sound (DUE 10/17)
Study 3: One Loop Story (DUE 10/26)
Study 4: Tool (DUE 11/7)
Study 5: Collective (DUE 11/16)
Media
Getting Started with p5.js:- 7/Media
- 9/Functions
- 11/Arrays
- Uploading Media Files
- 5.1: Function Basics
- 5.2: Function Parameters and Arguments
- 5.3: Functions and Return
- 7.1: What is an array?
- 7.2: Arrays and Loops
Description
Working in partners, make a work that is collectively created in some way. This may be an installation that different people interact and contribute to. It may be something created by media or text collectively sourced. Or anything else you can imagine. The result should be a dynamically evolving visual, textual, sonic, or performative artifcat that develops from a novel interaction betwen friends, siblings, collaborators, neighbors, or strangers. Carefully consider the kinds of actions or authorship you hope to elicit, and how the interaction design of your system influences individual (and hence collective) behavior. Paradoxically, the tightest constraints can often produce the most interesting results. How do you create the conditions for unexpected emergent behaviors to arise?
Visit one of the following:- Nov 8 (W) — Tanya Aguiñiga & AMBOS: Art Made Between Opposite Sides (Hammer)
- Nov 9–10 (W/Th) — Dimitri Chamblas with Kim Gordon, takemehome (REDCAT)
- Nov 12++ (Su) — Paul Pfeiffer: Prologue to the Story of the Birth of Freedom (MOCA)
- Ongoing — The Feminist Art Program (1970-1975): Cycles of Collectivity
- Ongoing — Made in LA (Hammer)
Final Project: Iterate and Refine (DUE 12/5)
Resources
JAVASCRIPT
- Tips for Debugging (thanks NYU ITP Residents)
- p5js.org - p5.js website, includes library, reference, examples, and tutorials
- Getting Started with p5.js
- p5.js forum - good place for p5.js programming questions
- Daniel Shiffman's Coding Train videos - p5.js tutorials
- Codecademy: JavaScript
- Getting Started with p5.js - by Lauren McCarthy, Casey Reas, and Ben Fry, O'Reilly 2016
- Intro to programming for the visual arts with p5.js - online class from kadenze, free with sign up
- You Don't Know JS