Time: Tuesday and Thursday – 8AM – 10:50AM EST
Location: The Internet: Zoom, Discord
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.


We will not cover all the units and topics listed below, the syllabus will be adapted to the overall students’ interests and skills.


Topics: intro, iteration, conditionals, ambiguity, algorithms and power, counter-algorithms. 
Assignment:  devise a set of drawing rules for two or three humans working on a multiuser drawing application.
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.


Part 1 – Topics: Intro to p5.js, coordinates, primitives, colors.
Assignment: Draw a stylized face with code. It has to be a “portrait” of your teammate: aiming to capture an aspect of their personality, interests, or biography. Then make it sound reactive.

Part 2 – Topics: Art tools and interactive art, open source, mouse input, random, blend modes, DOM elements.
Assignment: Make an alternative drawing application, Create 3 images made with your classmates’ applications. Modify/improve/customize one of your classmates’ projects. 

Part 3 – Topics: Drawing machines, repetition and variation, patterns. for loops, nested loops, noise.
Assignment: Create a dynamic sketch representing order vs. disorder.

Part 4 – Topics: Artificial life, complexity, emergence, simulations, classes, objects, arrays, functions.
Assignment: Starting from the provided codebase, create an artificial ecosystem that exhibits emergent behavior.

Tool: p5.js


 Topics: animation, interactivity, visual storytelling, branching narratives
Assignment: create a game or an interactive text to be experienced in a non linear fashion.
Tools: Twine or Bitsy



Topics: Text generation, bots, potential literature, context free grammar, html and css.
Assignment: Create a random text generator, publish it as an html page or a twitter bot.
Tools: tracery, cheap bots done quick, glitch.

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


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.


Topics: face tracking and recognition, surveillance, avatars / anonymity.

Option 1: Create an interactive sketch/virtual mask starting from face-tracking data and prepare a short performance with it.
Option 2: Create a webcam filter by manipulating individual pixels and prepare a short performance with it.
Option 3:
Create a filter with Snapchat Studio and perform with it and prepare a short performance with it.

p5, Snapchat studio


Part 1 – Topics: Neural Networks, GAN.
Assignment: Navigating the latent space: create a sequential narrative starting from images generated with Artbreeder.
Tool: Artbreeder, hotglue

Part 2 – Topics: GPT2, data scraping.
Assignment: Autocomplete: (team based) Collect a coherent corpus of texts to train a machine learning model. Write a story in collaboration with the text generator.
Tool: Runway + p5, pastebin

Part 3 – Topics: AI bias, training, surveillance, image classification.
Assignment: Poetic Surveillance: train a neural network to recognize certain objects and make an expressive/biased camera that creatively reacts to them.
Tool: Google teachable machine, p5ml


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

Unit images: Sol Lewitt, Everest Pipkin & Loren Schmidt, Mark Wonnacott, j_e_d, Zach Blas, AAA Collective, Memo Atken, Manoloide


Hardware: The entire course will be remote 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.
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, we will use a “flipped classroom” model: lectures, tutorial, and short assessment exercises will be prerecorded to be viewed asynchronously. The synchronous session will focus on assignments, discussions, critiques, and collaborative work.


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