Course Specifics:



Course Notes

Course Books



Processing LInks:


Art / Design / Code:

Marius Watz

Generator X

Code & Form

Casey Reas

Ben Fry

Golan Levin

Dan Shiffman

Jared Tarbell


Flight 404

Robert Hodgin



Art 370 - Elements of Digital Media

Section 0101
Tues & Thurs 12:30-3:00

Prof. Morse
Office: 3311-A Art/Soc bldg.
Office hours by appt.

Art 370

Seize the opportunity to use the technology to produce radical systems with roots that grow to touch others in exciting new ways. Don’t let any technology fall into the well-worn ditch that so many have ended up in. The Internet has vast potential, but mostly it is used to deliver static content because business-safe practices have forced uninspired design to reign supreme. I don’t want to see yet another personalized e-commerce shopfront trying to convince me that I’m someone special. I don’t need some marketing manager’s must-buys emailed to me weekly in the vain hope I’ll click the purchase button. I want my computer to explode with life and show me how someone else lives their life. I want my desktop to entertain and enlighten me with ideas I’d never even considered before. And I also want to buy the products I can’t live without, but that’s what supermarkets are for. – Adrian Ward


The passages above should serve to set the tone and aspiration of this course. This course will be, in the general sense, an attempt to allow you to stop using the same-old buttons given to you by Adobe and others. Instead, you will be pushed to ‘create your own buttons’ so to speak – to write the code that makes the images you want to see, and that can only be made this way.

In more specific terms, this course will be an exercise in learning to use computer code, and math as image-making media. We will use the programming language Processing to create imagery and interactivity which is more complex than can be done simply by using the point-and-click methodology. As an example, through the use of code, it is possible to populate the screen with hundreds or thousands of individual images, each of which having the possibility of reacting with eachother, or with user input. These systems can become extremely complex with relatively little effort on your part, and from this complexity, new forms, sounds, and patterns that were previously unexpected will begin to emerge.


As new techniques are discussed, new assignments will be given in which you will be expected to implement the new techniques discussed as well as add your own unique aesthetic sensibilities. Beyond certain technical requirements, the content of the assignments is completely up to you. We will start with basic principles, and work towards more advanced ones.

Assignments will be handed in and critiqued every two to three weeks, depending upon the complexity of the material being covered. For example, early on, we will look at uses for the random number in controlling animation and image content, once the technical material has been covered, you will then have two weeks to complete a series of exercises which use random number generation in unique ways.

There will be approximately seven of these exercises throughout the course of the semester.

Sketchbook: Simply learning the technology in this course will be somewhat difficult, but it is important that you realize that technical proficiency alone will not earn you a very high grade. I will be looking for you to be showing me something new, both with your programs, and especially in the imagery you create. Therefore, to keep you thinking in terms of imagery, it is required that you keep a sketchbook for this course. This sketchbook will be collected every two weeks. It can contain drawings, photos, photocopies, scans, or whatever interests and energizes your creative side. Look for imagery that you’d like to see set in motion, or images that have a certain type of visual effect you’d like to recreate on the computer screen.

Grading will be distributed as follows:

Grading in general: Though this course is technically demanding, I will not be impressed if you simply recreate things shown to you in class. Keep this in mind at all times. You must bring something new to the table in your assignments. Your imagery, sound, and interactivity must be unique and reflect your own aesthetic. Do not simply throw back the exact same things I show you in lecture you will not do well.

You will receive letter grades according to the following criteria:

A: Overall Excellence, to receive an A, you must consistently exceed the expectations of the assignment. Work must go beyond the scope of the assignment, both technically and conceptually; I will be looking for real technical exploration of the tools, and a strong sense of curiosity and experimentation regarding the conceptual requirements of the assignments. In short, you will have to make work that is strong in all ways, and will develop a personal aesthetic that is inventive and compelling. In addition, participation in critiques and in class discussion of the assignments will be required in order to receive and A.

B: Above average: you will meet and exceed the requirements of the assignment. Work should be both conceptually and technically strong, but there will be room for improvement.

C: Average: You have merely completed the objectives of the assignment. If an assignment calls for 5 images, you have completed 5 images, however you have not been inventive or creative enough in your solution for the assignment.

D: Below Average: You have only partially fulfilled the requirements of an assignment, by either not physically completing enough work, or by not addressing the conceptual requirements of the assignment.

F: Fail: You have not handed anything in.


Plagiarism: A note on plagiarism: in this course you will be writing code - it is essentially the same as writing in any other language and is therefore subject to issues of plagiarism. In general, I ask that you write EVERY LINE OF CODE YOU SUBMIT for your projects. Even if you are following somebody else's tutorials or examples online, i ask that you physically enter the lines of code yourself - it will help you to familiarize yourself with the algorithms and routines you are using - DO NOT simply copy and past somebody else's code into your project WITHOUT ATTRIBUTION. Processing is an open-source environment and with that comes a large community of artists, designers, etc who offer their own work online for the benefit of others. You may of course examine and dissect their code in order to further your own understanding of the field, but you may not simple use somebody else's code wholesale in your own work. Any algorithms, routines, or lines of code that you use from somebody else must be attributed in your source code (attrib. name and URL). I can spot copy/pasted code from a mile away - attribute this code and most of the time that will be sufficient.


Late Work:

Late work is not accepted without making prior arrangement with me. If something comes up, and you don't feel you'll be able to complete the assignment by its due date, contact me prior to the due date to discuss options.


First and foremost: be in class. This is especially important on the days I will be covering new material as I will not go over that material again with you individually due to an unexcused absence. You are allowed 3 unexcused absence, each subsequent unexcused absence may drop your letter grade by one full letter.

Final Critique:

Our final exam time is scheduled for May 21st from 1:30 - 3:30.  We will hold our final critique on this date and time - please do not make plans to leave campus prior to this scheduled exam time - outside of standard excusable reasons for absence, you will not be given an exemption from attendance at the final critique.


You may want some sort of personal storage media, whether it be portable HDDs or USB keychain hard drives. You will have access to server space to store class materials, but you may want to bring work home, or save copies for later use.


Highly Recommended:

Processing: A Programming Handbook for Visual Designers and Artists - Casey Reas & Ben Fry

The Nature of Code - Daniel Shiffman

see the books page



Your participation in the evaluation of courses through CourseEvalUM is a responsibility you hold as a student member of our academic community. Your feedback is confidential and important to the improvement of teaching and learning at the University as well as to the tenure and promotion process. CourseEvalUM will be open for you to complete your evaluations during the last two weeks of the semester. Please go directly to the website ( to complete your evaluations during that period. By completing all of your evaluations each semester, you will have the privilege of accessing online, at Testudo, the evaluation reports for the thousands of courses for which 70% or more students submitted their evaluations.