Time: Monday and Wednesday, 6:30-9:20PM
Location: CFA 307 + CFA-318 (College of Fine Arts building, CMU)
Instructor: Paolo Pedercini – paolop andrew…
TA: Hannah Epstein -hepstein andrew
Office: CFA 419A – 4th Floor
Office hours: By appointment

Electronic Media Studio: Introduction to Interactivity (60-210) is an introduction to software programming within the context of the arts. In this course students develop the skills and confidence to produce interactive artworks. This section has an emphasis on game design.



What is “new media” art?
Assignment: Make a scrollable page for an online persona or a personal manifesto on Newhive using heterogeneous media.
Readings:Remix and Remixability, Lev Manovich (2005)

Electronic literature


Interactive stories
Hypertext, CYOA. Twine, elements of html and CSS.
Assignment: Using Twine, write a branching story with one or more of the following features: a) Non-human (or better, non-animal) main character b) Events out of chronological order c) Multiple characters.
Readings: The garden forking paths by Jorge Luis Borges (1941), various Twine works

Potential literature, from DADA to bots
Random generator. Context free grammar, CSS.
Assignment: Create a random text generator using the provided context free grammar engine.

Creative Coding


Drawing machines: from Tinguely to Cory Arcangel
Assignment: computer-less instructional drawings.
Readings: Program or be programmed – Introduction by Douglas Rushkoff. The Dads of Tech by Astra Taylor, Joanne McNeil

Drawing with code
Intro to p5.js. Elements of programming, Syntax, functions, arguments, states, static drawing, Coordinates, lines, primitives, colors.
Assignment: Make your own drawing tool and post an image made with it.

Dynamic drawing, setup and draw, mouse input, blocks, variables.
Assignment: Starting from the provided framework, draw a stylized face that responds to microphone and/or camera activity. Prepare a short skit to perform with the virtual mask.

20 GOTO 10:
Op art, Modularity, repetition, generative art.
Iteration: for loop, functions, scale, rotation, random. Mouse interaction.
Assignment: Create a dynamic sketch representing order vs. chaos.



Artificial life
Character design. The Eliza effect. sprites and animations, Object.
Assignment: Starting from a given example, create an artificial ecosystem, with autonomous entities interacting with each other.

Game Luddites movements and collisions. Keyboard control.
Assignment: First reskin and then modify the gameplay of one of the provided games, completely changing the meaning and the experience.

Readings: Meaningful Play by Katie Salen and Eric Zimmerman
What to make a game about by Anna Anthropy.

Final Project

Assignment: assignment.
Create an artwork “made of” communication. It can be a digital performance, a social network intervention, an absurd protocol, a relational work, a misuse of a communication platform, a social engineering stunt, etc.

Student sample work from last year (different assignments)

Learning Objectives:

  • To have an understanding of the underlying concepts of computing and their role in the arts.
  • To be proficient in creating basic computer programs capable of responding to user interaction.


*Plagiarism and “collaborations”: in programming the concept of plagiarism is somewhat elusive. We are working with open source tools and libraries, building upon the work of a multitude of people. You are encouraged and expected to tap into resources available online, copy-paste and tweak code you may not fully understand.
However it is categorically forbidden to outsource work to people outside the course (e.g. your friend from CS). Showing up to class with something made by others is the worst offense and is considered equivalent to plagiarism.

* 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 tweeting, 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).


Grades will take into account your starting programming experience and your minor and major.
For the most technical exercises the grading is based on: -originality: is it just a rehash of the examples covered in class?
-stylistic consistence: is the visual style random or is it deliberate and working in harmony with the interaction or theme?

Content/Trigger Warnings

Being in an art school, you should expect to be exposed to content that challenges your moral, ethical, and aesthetic values. In case of extremely graphic content I will warn the class in advance, but if you have a history of PTSD please let me know privately if there are types of content that are known to act as trauma triggers for you.


Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.


*Header image: remixed from Eric Frommelt