Programming Media 1 — Syllabus

Programming Media 1 (DESMA 252A)
Fall 2012
UCLA Department of Design Media Arts

Professor Jürg Lehni (office hour TBD)

Wednesday, 2:00 pm - 4:50 pm
Broad Art Center, 4220


This course is an introduction to computer programming, oriented towards visually thinking people and focused on applications in the field of design and the arts. Each participant will acquire a basic programming skills which will be applied in a series of exercises and projects.

The acquired fundamental understanding of the general principles present in most programming languages will serve as a base for future learning within the MFA program.

The class is based on JavaScript and the programming library Paper.js, which is a spin-off project of It is taught in a series of mini-workshops, with demonstrations, live coding sessions and time to work in the studio.


  1. Reading, Writing and Executing Programs
  2. Simple Values (Numbers, Texts) and Calculations
  3. User Feedback
  4. Objects and their Attributes and Functions
  5. Drawing with Code
  6. Functions and Event Handlers
  7. Loops and Conditional Statements
  8. Working with Arrays
  9. Mouse Movements and Drawing Tools
  10. Using Vector Geometry to Describe Shapes
  11. Working with Raster Images and Pixels
  12. Defining and Changing Color
  13. Building Simple User Interfaces (GUI)
  14. Using External Libraries


Each of the nine mini-workshops end with an exercise to be completed before the next class begins. Some of these workshops focus on aquiring programming skills, while others are about their conceptual applications. Throughout the quarter, we are building a series of tools that when applied produce visual results.


The grading is based on the workshop exercises, and on active participation during the class meetings. The work is evaluated on how well it demonstrates an understanding of the material, its originality, as well as its conceptual and aesthetic qualities. Feedback will be primarily qualitative but numeric scores will also be given for all work. All assignments must be uploaded to the class server before the beginning of class on its due date.

Course Resources

Required Reading

Suggested Reading & Viewing