Programming for Poets

At ITP, we are developing a curriculum to teach programming by exploring interactive, multimedia graphics creation with free, open source software. Most computer science courses that teach the fundamentals of programming do so in the context of command line output. Our classes teach those same concepts in the context of interactive visuals, making it easier for artists, designers, and students from other fields to conquer their fears related to writing code.

Traditionally, designers and programmers have been kept separate in corporate, academic, and research environments. At ITP, there are no such divisions. By allowing anyone to move beyond traditional software tools and into the world of computational, rich media, our students develop the skills to create algorithmic based designs, custom image processing filters, data visualizations, and more.

The Subscriptionist Movement

Flat panel LCD and plasma displays seem to be popping up everywhere – store windows, corporate lobbies, bars, shopping malls, and living rooms. For the most part, these bright, beautiful screens offer passer-bys nothing more than dismal advertising slides. And the ones we keep in our homes, these lonely displays spend the better part of their lives turned off. The subscriptionists’ mission is to bring a collection of digital artworks by software developers and animators to these otherwise underappreciated and dormant displays. We are developing cheap, networked enabled interactive display software that allows the artist to sell directly to the non-collector, re-using an ordinary PC lying around the house. Rarity is replaced with volume as the driving commercial force, rendering the art dealer obsolete.


  • Introduction to Computational Media What can computation add to human communication? This course focuses on the fundamentals of computer programming.
  • The Nature of Code This class focuses on the programming strategies and techniques behind computer simulations of natural systems. Subjects covered will include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms.
  • Programming from A to Z The course focus is on programming strategies and techniques behind procedural analysis and generation of text. We explore topics ranging from evaluating text according to its statistical properties to the automated production of text via artificial intelligence.
  • GLART This course explores OpenGL as an artistic medium.