Time: Tuesday and Thursday – 02:40PM – 05:30PM
Location: The Internet – this website, Zoom, Glitch
Instructor: Paolo Pedercini – paolop andrew… 
Office: CFA 419A – 4th Floor 
Office hours: By appointment 

Electronic Media Studio: Introduction to Interactivity (60-210) is an introduction to several tools for programming and computational media within the context of the arts. In this course students develop the skills and confidence to produce interactive artworks, discuss their work in relation to the tradition of digital art, and engage new technologies critically. This section has a slight emphasis on game making.



Topics: performance, scores, iteration, conditionals, ambiguity, algorithms of power. 

Assignment: Design an analog algorithm with elements of iteration and conditionals to be executed by two classmates independently. It can be a score, instructions for a walk, a performance, a ritual, a recipe, a choreography, an art-making process as long as it’s defined by a set of formal rules. It must be actually executable, and it must aim toward an aesthetic, expressive goal. Post the results, the two players co-present. 

Tools: Any
Discussion:  Cathy O’Neil – The era of blind faith in big data must end.


Drawing: drawing machines, syntax, variables, coordinates, primitives, colors on screen.
Assignment 1: Make your own drawing tool and post 3 images made with it. Part two: give it to a classmate and let them “improve it”. 

Iteration: computer art, loops, patterns, randomness, noise, transformations, mouse input.
Assignment 2: 10PRINT variation. 
Assignment 3: Create a dynamic sketch representing order vs. disorder. 

Multimedia: audio, keyboard input, time based events, mapping. 
Assignment 4: Make an instrument/toy that creates a meaningful relationship between sound and visuals. You will have to perform with it in class.

Tool: p5.js

Readings: Ruha Benjamin – Race After Technology: Abolitionist Tools for the New Jim Code (excerpt).
Mimi Onuoha, Mother Cyborg – A People’s Guide to AI – Algorithms.


 Topics: animation, interactivity, visual storytelling, branching narratives 

Assignment: create a game or an interactive text to be experienced in a non linear fashion. 

Twine or Bitsy



Random generation, bots, potential literature, context free grammar, images, text, array.

Assignment: option 1 – Create a random generator of text and visuals. Option 2- create a twitter bot.

p5.js, tracery, cheap bots done quick, glitch.

Siobhan Roberts – Who’s a Bot? Who’s Not?
Kate Compton – Bot Poetics


Topics: AI, Neural Networks, GAN, big data, face recognition and surveillance, AI bias.

Assignment 1:
Make a face filter to wear in a short improv performance on Zoom. 
Assignment 2: Find an image in Artbreeder’s latent space and describe your process.

Tools: Snapchat lenses, p5, artbreeder, Runway

Mimi Onuoha, Mother Cyborg – A People’s Guide to AI – Machine Learning.
Kashmir Hill – The Secretive Company That Might End Privacy as We Know It. Will Knight – The Dark Secret at the Heart of AI.


Topics: installation art, virtual reality, environmental storytelling, 3D engines, 3D modeling, level design, basic scripting, materials 

Assignment 1: Create a digital vanitas or ready made 3 scene using assets found online
Assignment 2: Create a virtual installation explorable in first person. 

Tools: Unity.

Discussion: Robert Yang – Local level design, and a history / future of level design.
Christina “Phazero” Curlee – Meaningful level design – Level Design Foundations



Incorporate a tool or process from this class in your artistic practice and produce an artwork combining computational and hand-made aspects.
Examples: a painting based on a neural network image, a durational performance directed by a bot, an installation prototyped in Unity, an animation created with your own tool...



Hardware: There is a chance that the entire course will happen online so you will need a functioning computer at your residence. You don’t need a powerful gaming computer but a reliable internet connection is necessary.

You’ll receive a kit with all the necessary electronic components for the Interface assignment. Its cost will not exceed $40.

Software: all the programs required in this class are free. 

COVID-19 & Remote Teaching

This course is designed from the ground up to be taught online and to make the most out of this unfortunate situation. Broadly speaking, all sessions will start in a Zoom meeting and switch between 5 class modes: 

Prof shares his screen in the main Zoom session. Students mute their mics, text chat freely, and raise their “hand” on Zoom if they want to speak. Webcam video appreciated but not mandatory.

Technical demo
Prof shares his screen and the Glitch project he’s working on (if made in p5.js). Students share their screens and replicate the prof’s project, following line by line. They are occasionally asked to come up with their own solutions, or to complete a part of the project.

Class exercise
Prof gives a prompt and splits the class into individual breakout rooms. Each student shares their screens. Prof is either summoned by a student for help or randomly drops in the breakout room. If more in depth support is needed, prof can join a student’s project on Glitch and write code with them. Results are posted on the Glitch Team or linked on this website.

Each student publishes their project on the Glitch Team or on this site.
In real-time critiques the critted student shares their screen for a short presentation and a discussion ensues. Webcam video appreciated, especially when speaking.
In silent critiques the feedback happens in the comment section of the post on this site.

Readings Discussion
Prof asks a few students to present their findings and responses, which have been posted on this website. 


  • To have an understanding of the underlying concepts of computing and their role in the arts and society.
  • 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) or plagiarize assignments and exercises from your classmates. 

* 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. Most of the lecture and technical demo material will be on this website.

* 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 behavior 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).

*Office hours: office hours are by appointment but there will be at least two brief mandatory one-to-one meetings for feedback and a general check-in.

*Recording: I’ll try to record the lectures for the benefit of absent students, the recordings will not be shared publicly. No student may record any classroom activity without express written consent from me. This is about consent since other students would be recorded as well.  If you have (or think you may have) a disability such that you need to record or tape classroom activities, you should contact the Office of Disability Resources to request an appropriate accommodation.


Grades will take into account your starting programming experience and your minor and major.
For the most assignments the grading is based on: 

*originality: is it just a rehash of the examples covered in class? 

*stylistic consistency: is the visual style random or is it deliberate and working in harmony with the interaction or theme?

*content: is it just a technical exercise or are you trying to incorporate broader issues and concerns?


It is my intent that students from all diverse backgrounds and perspectives be well served by this course, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. It is my intent to present activities that accommodate and value a diversity of gender, sexuality, disability, age, socioeconomic status, ethnicity, race, and culture. I will gladly honor your request to address you by your preferred name and gender pronoun. I commit to make individual arrangements to address disabilities or religious needs (e.g. religious events in conflict with class meetings). Please advise me of these preferences and needs early in the semester so that I may make appropriate changes to my plans and records. Debate and free exchange of ideas is encouraged but I will not tolerate harassment, i.e. a pattern of behavior directed against a particular individual with the intent of humiliating or intimidating.


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. 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.


Unit images: Sol Lewitt, Manoloide, Everest Pipkin & Loren Schmidt, Zach Blas, AAA Collective