Technology for artists; art and design for engineers.


New Interfaces for Musical Expression

In this course students design, prototype and ultimately perform with a novel musical instrument - a complete system encompassing musical controller, algorithm for mapping input to sound, and the sound output itself. A technical framework for prototyping performance controllers is made available. Students focus on musical composition and improvisation techniques as they prepare their prototypes for a final live concert.

The Code of Music

In this course students explore the elements of music through computation and interactivity. During the first half of the semester, students develop a series of web-based interactive studies of rhythm, melody, harmony and timbre. The second half of the course is dedicated to the introduction of algorithmic composition techniques such as markov chains, formal grammars, and neural networks, and the development of a final project.

Music Interaction Design

A project development studio for interactive music projects such as museum exhibitions, art installations, participative performances, games, and tools for making and teaching music. Students take a project from concept to execution over several iterations, applying music production, interaction design, and creative coding tools and techniques.

Introduction to Computational Media

What can computation add to human communication? Creating computer applications, instead of just using them, will give you a deeper understanding of the essential possibilities of computation. The course focuses on the fundamentals of programming the computer (variables, conditionals, iteration, functions, and objects) and then touches on some more advanced techniques such as data parsing, interfacing with hardware, mobile development, and HTML5/DOM.

Physical Computing
School for Poetic Computation

In this class students create physical interactive systems, with interfaces that go beyond the screen, mouse, and keyboard. It is an introduction to electronics, making circuits, computation, using sensors and actuators, programming micro-controllers, communicating with other computers through serial communication, parts sourcing and fabrication resources.

Technologies for Designing Change
Design for Social Innovation MFA, SVA
In collaboration with Claire Lin

An introduction to Physical Computing and Interaction Design for Social Innovation MFA students. Tools and techniques learned ––from defining user goals to creating a functional prototype–– are applied to the creation of a final project that tackles a social problem.

Curricula and Materials

Curriculum Development
NYC Department of Education

In progress: developing curriculum for teaching computer programming in high schools using p5.js

2016 Fellowship
Processing Foundation

Coordination of education resources; authoring teaching materials.



Coding 0 to 1
School for Poetic Computation

A series of programming workshops for complete beginners.

Hacking Music Panel

A panel rethinking Composition, Production & Experience Design. The fundamentals of music may not have changed much in millennia, but new tools and approaches continue to open up uncharted territory. With Julia Kaganskiy, Dave&Gabe, VolVox and Artiphon.

The Code of Music

A three-hour exploration of interactive music, from experiencing existing applications to directed re-design exercises, to designing a new experience from scratch, and discussing technical means for implementation.

Interventions Program
School of MA

A ten-week program in Berlin exploring the intersection of technology and art, activism, and community-building.