Time: Mondays and Wednesdays, 8:30-11:20am
Location: CFA-318 (College of Fine Arts building, CMU)
Instructor: Paolo Pedercini (paolop andrew…)
Office: CFA 419A – 4th Floor
Office hours: By appointment

Electronic Media Studio Two (EMS2) is an introduction to software programming and physical computing within the context of the arts. In this course students develop the skills and confidence to produce interactive artworks using audiovisual, networked and tangible media.

Part I: Creative Coding (Processing)


What is new media art? Intro & Syllabus. How to use the class blog.

Computing without computers class exercise + looking outwards.
Assignment: instructional drawings.
Reading: Douglas Rushkoff – Program or be programmed – Introduction.

Hello world: the Processing IDE, compiling and publishing. Open processing website.

Drawing machines: From Tinguely to Cory Arcangel. A brief history of computer art.
Elements of programming, Syntax, functions, arguments, states, static drawing, Coordinates, lines, primitives, colors. Variables.
Assignment: Draw a face using at least 10 graphic elements.

Interactive like a banana: Open and closed interactivity. Variability in new media.
Dynamic drawing, setup and draw, mouse input, blocks.
Assignment: Starting from the provided framework, make an image (face or other) that responds to the microphone activity.
Reading: Principles of New Media – From the language of New Media – Manovich.

Software art: artists making tools, glitch, users as participants. Making things move, random function, variables + draw cycle.
Reading: Glitch by Olga Goriunova and Alexei Shulgin – from Software Studies.
Assignment: Make a mischievous drawing application. iPhone.

20 GOTO 10: Op art, Modularity, repetition, recursion.
Iteration: for loop, functions, transformations, assets, transformations, scale, rotation.
Assignments: 1) Wallpaper: create a pattern procedurally using iteration (and randomness if you want) and Generate a pdf. 2) Order vs. Chaos sketch 3) Trippy mandala.

Designing information: transcoding in art, information visualization. Timers. Date and millis.
Looking outwards: Information Visualization.
Assignments:Maeda’s clock.

Complex != difficult: generative art, emergence, artificial life. Triangles game activity.
Intro to OOP: classes, objects, arrays of objects.
Assignment: modify a basic particle system code and make something displaying a complex behavior.

Game luddites: Game art, mods, experimental game design.
Hacking, classes, keyboard input.
Assignment: 1) Breaking Breakout – modify the code of the assigned game and turn it into an artwork 2) Start from a software toy and create a game around it.

Potential literature: generative poetry, non-linear storytelling.
Assignments: 1) Generative text with a context free grammar 2) Twine hypertext.

Part II: Physical Computing (Arduino)

Inputs: alternative interfaces in game art.
Potentiometer, servo, sensors, various analog. Arduino to Processing, Firmata.
Assignment: Make a Processing sketch or game that responds to a sensor.

Light Emitting Art
Elements to electronics, Arduino, breadboard, LED, resistors, hello world of analog circuits.
Assignments: Blinking LEDs: Pitetsbkrrh morse code, Knight Rider.

Outputs: Controlling AC powered objects with switchtails and relays.
Assignments: film a performance in which interact with electric powered objects (appliances, lights, fans) in an unusual way.

Networked object, internet of things, tweeting things. Mail + processing + arduino, IFTTT.
Assignment: Make a object that bridges the local/physical (sensor/actuators) to the global/digital (email/internet/social networks).

Learning Objectives:

To have an understanding of the underlying concepts of digital computing and physical computing and their roles in the arts.
To be proficient in creating basic computer programs and electronic devices capable of responding to user interaction.


* Attendance: three or more unexcused absences result in the drop of a letter grade.

* Absences: you are responsible for what happens in class whether you’re here or not. Organize with your classmates to get class information and material that you have missed.

* Participation: you are invited, encouraged, and expected to engage actively in discussion, reflection and activities.

* Net addiction: you can exist for few hours without tweettering, facebooking, chatting, texting or emailing. Any device for mediated communication is banned during theory classes, crits and discussions. A 1% grade reduction will result from being found using them.
During the lab hours you will be allowed to network as long as your behaviour is not disruptive.

*Assignments: late assignments are only accepted with permission of instructor. You lose 10% of your points per day late up to a max of 7 days late.

*Tardiness: 1st tardy = free.
Less than 10 minutes late = 1% grade reduction.
Over 20 minutes late = absence (unless justified).

*Header image: Origami Stream by Scott Oppenheim.