Course Catalogue

No upcoming classes right now. Check back soon!

Quartz Composer with vade
5 years ago— August 11, 2012
Quartz Composer is a development tool for processing and rendering graphical data. Its visual programming environment lets you develop graphic processing modules, called compositions, without writing a single line of code. Quartz Composer is also a framework that lets you programmatically access, manage, and manipulate compositions created with the development tool.
Music and Mobile Computing for iOS
5 years ago— July 3, 2012
This workshop explores the potential for music creation, performance, and experience on increasingly pervasive mobile computing platforms, such as smartphones and tablet computers. In-depth technical instruction on audio application development for iPhone, iPod Touch, and iPad devices, will be complemented by group discussion of aesthetic and design considerations in mobile computing. The workshop will be focused on an individual project for each participant, taking a mobile musical application/experience/artwork/etc. from conception and design to implementation and iteration.
Immersive Audio Environments for Composition & Simulation
5 years ago— April 21, 2012
This 2 day workshop will explore techniques for creating immersive 3D audio environments for composition and acoustic simulation. There will be a survey of spatialization techniques including ambisonics, traditional amplitude panning, VBAP, binaural/transaural, and wave field synthesis. Methods for creating new and uniquely spatial audio environments will also be discussed.
Immersive Audio Environments for Composition & Simulation
6 years ago— July 16, 2011
This 2 day workshop will explore techniques for creating immersive 3D audio environments for composition and acoustic simulation. There will be a survey of spatialization techniques including ambisonics, traditional amplitude panning, VBAP, binaural/transaural, and wave field synthesis. Methods for creating new and uniquely spatial audio environments will also be discussed.
Audio Synthesis in iOS
6 years ago— June 28, 2011
High-level synthesis systems like PD, SuperCollider, Max/MSP are wonderful and powerful tools. However, they create a layer of mystery between the artist and the actual audio data they generate. Getting our hands dirty and synthesizing audio from the ground up -- working with the raw audio stream -- is a deeply empowering and liberating experience. It allows us to experiment with techniques we’d never considered before, and gives us a new window in to the nature of sound. Using just enough knowledge to be dangerous, we can create a huge range of never-heard-before sounds. In this class, we’ll set up a sandbox for experimentation with low-level audio generation in iOS, make some terrifying noises, and have a brief introduction to the STK synthesis library.
Intellectual Impropriety – Electronic Music Composition Workshop
7 years ago— November 13, 2010
This is an exploratory workshop on composition of experimental electronic music. Specifically, the goal of this weekend intensive workshop is to give students a basic practical understanding of select tools and techniques for the composition of sample-based electroacoustic music. Sampling will be discussed in its widest possible musical definition (including how it may change the nature of musical creativity and how it relates to politics).
Network Musical Performance Workshop – Technical and Artistic Strategies over Computer Networks
7 years ago— November 2, 2010
This workshop is intended for musicians, composers, programmers and technologists interested in performing with distant musicians, designing systems for the medium or composing with the network in mind. No music theory or technical skills background necessary, the workshop will put emphasis on the participants’ particular interests and goals.
Spatial Sound with SuperCollider Workshop
7 years ago— November 2, 2010
This workshop is for musicians, composers, researchers, sound artists, and programmers who would like to gain a greater understanding of modern spatial techniques implemented in a state of the art music programming environment. While experience with SuperCollider is a huge advantage, we'll start with installation and go from there, albeit quickly. Participants should have at least some familiarity with programming. This workshop was designed for Mac and Linux users.
ViceVerse Workshops: Ableton Live and A/V Feedback
7 years ago— April 29, 2010
ViceVerse and GAFFTA will be presenting two workshops on Thursday, April 29th. The first will be an Intro to Ableton Live presented by Goran Simonoski and the second is led by Incredible Bob and will pertain to audio/video feedback techniques.

Hacking the Kinect with openFrameworks
5 years ago— December 4, 2012
This workshop will explore coding and designing interactive experiences using openFrameworks. openFrameworks is an open source, creative coding platform written in c/c++ that is designed to be a simple , powerful , and modular toolkit for creative artists. This toolkit is used around world in a variety of formats spanning physical installations and reactive systems to small mobile and embedded applications. Specifically this workshop will start with an introduction to Open Frameworks as a whole and will then focus on using the popularly hackable kinect device.
openFrameworks: C++ for Processing Coders
5 years ago— October 27, 2012
openFrameworks was developed for folks using computers for creative, artistic expression, and who would like low level access to the data inside of media in order manipulate, analyze or explore. openFrameworks is an open source C++ toolkit designed to assist the creative process by providing a simple and intuitive framework for experimentation. The toolkit is designed to work as a general purpose glue, and wraps together several commonly used libraries. The code is written to be massively cross-compatible. Right now we support five operating systems (Windows, OSX, Linux, iOS, Android) and four IDEs (XCode, Code::Blocks, and Visual Studio and Eclipse). The API is designed to be minimal and easy to grasp. Simply put, openFrameworks is a tool that makes it much easier to make things with code.
Generative ART = workshop(“Processing”);
5 years ago— September 22, 2012
This workshop will explore the use of code as a creative medium. It will introduce the participant to the emergent and exciting generative art field, through both theory and practice. With the use of Processing as a creative tool, participants will be able to generate their own sketches and digital pieces. This workshop will also help to enter the world of computer programming in an easy way, with a strong focus on artistic expression. There is no previous programming experience required, but an open-minded/positive attitude towards code is a must.
Visual Scripting in Arduino
5 years ago— June 19, 2012
The Visual Scripting for Arduino course will provide a novel introduction to both scripting and microcontrollers. We'll provide an introduction to programming fundamentals (variables, iteration, conditionals, booleans, and tree structures) and directly apply those lessons to basic electronics fundamentals. We'll be building simple data capture circuits with Arduino as well as harnessing Firefly's built-in tools for data capture through sound, image and video capture. We'll then be using Firefly to control a variety of outputs. No software investment required. No prior experience with coding or electronics required.
Max/MSP/Jitter
5 years ago— June 18, 2012
Max/MSP is a graphical programming environment, where you create your own software using a visual toolkit of objects, and connect them together with patch cords. This introductory course includes MIDI, alternative controllers, user interfaces, and timing objects, as well as controlling audio samples and hard disk recording with MSP. This is an introductory course, and no prior experience with MAX/MSP or computer programing is required.
GLSL with Tarik Barri
5 years ago— April 28, 2012
In this class I'll be teaching how to make computer generated visuals really sexy looking. You can do all kinds of things in realtime like adding glow, blur, noise, transforming 3d shapes, or any number of visual effects that you may want to invent yourself. One of the most effective ways to get this done is by using shader languages like GLSL. It is a technique that for some reason is often overlooked, resulting in most realtime visuals being much less precise, beautiful and effective than they could be with the kind graphics cards that we have in our computers these days.
Processing 101
5 years ago— April 7, 2012
Processing seeks to ruin the careers of talented designers by tempting them away from their usual tools and into the world of programming and computation. Similarly the project is designed to turn engineers and computer scientists to less gainful employment as artists and designers.
TouchDesigner for Video Performance
6 years ago— March 20, 2012
TouchDesigner is a high-level real-time video programming environment, with hardware-accelerated 3d and 2d graphics generation and manipulation tools, flexible data handling, and a plethora of I/O options.
Visualizing and Mapping Data
6 years ago— February 7, 2012
This four-day workshop will follow the lifecycle of data, from its raw collection to preparation and presentation for the web. We'll explore where geographic data originates, how it's transformed to work online, how to see it flow and move, and finally how to publish a view into that data to the web with simple browser-based tools. We'll work with data from Twitter and OpenStreetMap, push it through filters and viewers, and publish it to the open web.
Real-time Video Manipulation in Quartz Composer
6 years ago— January 10, 2012
Quartz Composer is a visual programming environment (like maxMSP, PD, vvvv, etc.) which comes with Mac OS X. It is designed for creating real-time, interactive video and graphics. It is particularly useful for quickly prototyping and experimenting with interactive video art installations and performances. In this workshop, we will learn to create and manipulate 2D and 3D graphics, interact with hardware ranging from webcams to the Kinect to midi hardware, and move video through the Mac OS system for integration with VJing, gaming, and other applications. We will also build a conceptual foundation for working with the graphics processor--the video card--which has a different programming model than the sequential model of traditional programming. Mac OS X is required to run Quartz Composer. No prior programming experience is required for this workshop.
Introduction to TouchDesigner for Projection Mapping
6 years ago— October 1, 2011
TouchDesigner is a high-level real-time video programming environment, with hardware-accelerated 3d and 2d graphics generation and manipulation tools, flexible data handling, and a plethora of I/O options.
Processing 101
6 years ago— August 2, 2011
No previous programming experience required. Programming is the creative process of controlling computation for the purposes of expression. Processing is an electronic sketchbook that facilitates rapid development and exploration of programmatic ideas. It is also a medium particularly well-suited to working with visual ideas about iteration, scale, mechanical reproduction, and interaction.
openFrameworks Course cancelled by Zach Lieberman
6 years ago— June 10, 2011
Logistics: Dates: This class was cancelled by Zach Lieberman, We apologize for the change. Saturday & Sunday, June 11th – 12th Times: 10am – 4pm Course Length: 12 hours weekend intensive Cost: $20/instruction hour, $240 total, $216 for GAFFTA Members Location: GAFFTA, 998 Market Street, San Francisco, CA 94131 Participants must have a some basic [...]
Processing 200: Data Visualization
6 years ago— May 24, 2011
We're going to take a look behind the scenes at how interactive visualization software is designed and built. We'll use Processing for ease of sketching and testing so you should be up and running and familiar with its basic operations. We'll begin with a little bit of theory and an overview of the tools, people and companies out there in the field. We'll then transition into a more hands-on workshop where you'll start to code with a simple data set (one you've brought or one we find together). The skills and processes covered will be applicable to all programming languages and interactive graphics environments.
Data Visualization / Digital Cartography
6 years ago— April 16, 2011
Data Visualization / Digital Cartography Instructor: Sha Hwang Course Description: This workshop will introduce the basic tools and techniques required to make custom interactive maps for the web in HTML and Javascript. We will focus on Polymaps, a Javascript mapping library developed by Stamen and SimpleGeo. Together, we will move from making simple interactive maps [...]
Processing 101
6 years ago— April 12, 2011
Processing 101 is an introductory-level workshop that explores the creative potential behind Processing, a free and revolutionary programming environment that enables users to create interactive, dynamic, computer-based tools, projects, and art. Participants will explore creative programming in a project-based, collaborative learning environment. They will cover Processing-specific syntax, as well general programming concepts. This course is [...]
Creative Coding: An Introduction to Processing
7 years ago— August 21, 2010
Now giving up your weeknights can’t stop you from delving into the world of visual tech delights! Gray Area Foundation for the Arts is now offering a weekend intensive of the popular Creative Coding workshop. Saturday — October 16th Sunday — October 17th Register here: http://www.gaffta.org/2010/08/19/october-weekend-intensive-creative-coding-an-introduction-to-processing/ Instructor: Chandler McWilliams Creative Coding: An Introduction to Processing [...]
Creative Coding: An Introduction to Processing
8 years ago— February 23, 2010
Creative Coding: An Introduction to Processing is an introductory-level, project-based workshop that explores the potential of Processing, a free and revolutionary programming environment that enables users to create interactive, dynamic, computer-based tools, projects, and art.

Hacking Your Home with Arduino
5 years ago— February 26, 2013
Hacking The Home is a D.I.Y. overview to bringing your home into the ‘Internet of Things’ era. Taught in 2 sessions, students will leave with a foundation to connect their physical surroundings with their digital ones. Whether its monitoring the health of your plants, adjusting a room’s lighting with a cell phone or just checking to see if a door is locked, it is easy to see how bringing intelligence to our everyday surroundings can not only be helpful but also yield a new world of creative results.
Paper-Based Electronics for Creative Expression
5 years ago— August 4, 2012
Come learn materials and techniques for integrating electronics with the paper medium to create expressive and interactive artworks. The workshops will cover techniques from designing paper switches and sensor to control LED lights, to using pre-programmed microcontrollers for more advanced sensing and output.
Kinect for Unity 3D
6 years ago— March 3, 2012
This workshop will cover how to use Kinect with Unity. Examples that include hand tracking, skeleton tracking and multi-player will be covered. Javascript, Boo or C# are helpful but not required. This is an introductory course which will also cover the basics of the Unity environment. Starting from install and hacking the device, if you have never worked with Kinect, but have wanted to, this is a great way to get started. The class is Mac focused but compatible with Windows as well. We will create a simple game during the duration of the workshop using a Natural User Interface. Basic design principles behind Natural User Interfaces are discussed as well. Unity is free from Unity3D.com.
Arduino 101
6 years ago— February 25, 2012
Arduino is an open-source electronics prototyping platform intended for artists designers, hobbyists and anyone interested in creating interactive objects or environments.  This basic workshop will introduce participants to the Arduino and its programing environment.  Participants will also learn how to use wide variety of sensors and actuators.  Each participant leave with the tools needed to begin building their own interactive projects at home. No prior experience with electronics or programing is required. All materials and fees are included. Limited space available.
Breakneck Prototyping With Microsoft Kinect and Pure Data
6 years ago— July 9, 2011
Experiment with a variety of methodologies to create robust and complex interactive environments (games, installations, time/motion based etudes, etc.). There will be a lecture portion to the class giving an overview of precedent in computer vision, game art, mapping and re-mediation. No prior experience with programming necessary.
Soft Circuitry w/ LilyPad
6 years ago— April 2, 2011
Soft Circuitry will cover the basics of electricity, circuitry building and the techniques and materials used to make soft circuits. Workshop participants will be given a historical overview of wearables in the context of fashion, art, and technology. Students will be given project-based instruction on basic circuitry and will construct soft circuits using conductive thread [...]
Arduino 101
6 years ago— April 2, 2011
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. Instructor: Matt Ganucheau Description: Arduino is an open-source electronics prototyping platform intended for artists designers, hobbyists and anyone interested in creating interactive objects or environments.  This basic [...]
openFrameworks and Arduino Workshop
7 years ago— November 21, 2010
A workshop to learn how to create physically interactive applications using Arduino and openFrameworks. We'll explore how openFrameworks and C++ work and how they can communicate with Arduino applications and devices. Students will learn some of the basics of how the Arduino and openFrameworks platforms work, learn to how to connect the two, and then get started working with two of them to start making applications that can react to physical input and the make physical feedback using buttons, knobs, servos, LEDs, and computer vision.
Soft Circuit Workshop!
7 years ago— April 17, 2010
Soft Circuit is a two-day workshop that will cover basics of wearable technology. Students will be given project-based instruction on basic circuitry and will construct soft circuits using conductive thread and fabric. No prior experience with electronics or sewing required. All materials and fees are included.
Soft Circuit Workshop: Grace Kim
8 years ago— January 23, 2010
Soft Circuit will cover basics of wearable technology. Workshop participants will be given an overview of the history of wearables in the context of fashion, art, and technology. Instructor Grace Kim will share basic sewing and embroidery techniques and tips on how to repurpose everyday sewing procedure for use in wearables projects. Students will be given project-based instruction on basic circuitry and will construct soft circuits using conductive thread and fabric. No prior experience with electronics or sewing required. All materials and fees are included.

Mobile Creativity with Processing.js and Phonegap
5 years ago— January 22, 2013
This class will give an overview of deploying your own Processing.js creations on an iOS device via Phonegap, an open source mobile application framework. This class will give an overview of programing fundamentals (variables, conditionals, iteration, functions, and objects) as well as how to apply them creatively. A variety of techniques such as image processing, 3D animation, computer vision, and live data gathering will be covered. This course is designed for computer programming novices although experienced coders are welcome.
Rapid Prototyping in HTML5 and JavaScript
5 years ago— December 1, 2012
The process of iteration underlies every design discipline. As designers, we produce representations of our final concept: sketches, mockups, storyboards, physical models, etc. These externalized representations help us get out of our head. They allow us to experience our concept and therefore refine it. They also help us communicate our concept to collaborators. In the design of interactions, whether for products or art pieces, static representations like sketches and storyboards can be insufficient for expressing how an interaction will feel. Better is to create dynamic representations which can be play-tested.
Game Engine Development for the Web with Dart and WebGL
5 years ago— November 10, 2012
This workshop explores 3D application development for the Web utilizing the programming language Dart and the WebGL graphics API, examining how games can be crafted for the web. Technical discussion on graphics fundamentals utilizing the WebGL API will provide a foundation for rendering within the browser. This framework will be expanded on to provide the groundwork for crafting a game engine. Participants will complete exercises that implement selected functionality within this engine, which can then be used and expanded upon in their own projects.
Web Development with D3.js
5 years ago— November 6, 2012
This workshop will introduce you to d3.js for creating data visualizations and vector graphics in the browser. D3 is a JavaScript library for manipulating documents based on data. d3 helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.
Web GL Developers: Three.jsfest
5 years ago— September 12, 2012
Let’s fall forward with a Three.js Demo Forum! Anyone is welcome to present any Three.js work; this event is open floor! for No other agenda, just show and tell. The only requirement is an app or demo built using Three.js. Presenters include: Tony Parisi, Theo Armour, Kaustuv deBiswas, and Nitin Rao.
Introduction to WebGL with THREE.js
5 years ago— September 4, 2012
In this session we'll step behind the scenes of HTML5 WebGL demos as seen on the likes of Google's Chrome Experiments. Learn how to manipulate particles, make procedural 3D geometry, and create data visualizations on the web using THREE.js.
Creative WebDev with Processing.js
5 years ago— June 5, 2012
Since 2001, the Processing programming language has made coding easier for the novice programmer to use powerful audio and video libraries. Built on the Java programming language, Processing “sketches” can be embedded in a Java applet and accessed via a web browser and the Java browser plugin. In 2008, John Resig ported Processing to the Javascript language, which replaced the need for the Java plugin with the canvas element in HTML and the Javascript language. This provides a wealth of tools that can help transform static webpages, into interactive web applications, rivaling those written in “native” code (like C++).
Building Augmented Reality Apps with Layar
6 years ago— January 24, 2012
Together, we will move from learning the basics of how users interact with AR apps, to the kinds of content one can put in the application, to best practices and non-linear storytelling and exploring the possibilities of real-world ubiquitous computing experiences. Working together in a project-based format students are invited to explore the creative possibilities of this technology, including subversive reality tourism, peer to peer content sharing, open-ended storytelling, hidden local narratives, interactive art, ambient games and more.
Digital Cartography, Interactive Mapping, and Data Visualization
6 years ago— November 19, 2011
This workshop will introduce the basic tools and techniques required to make custom interactive maps for the web in HTML and Javascript. We will focus on Polymaps, a Javascript mapping library developed by Stamen and SimpleGeo. Together, we will move from making simple interactive maps towards designing custom cartography and visualizing geographic data.
CreativeWebDev with Processing.js
6 years ago— October 25, 2011
Since 2001, the Processing programming language has made coding easier for the novice programmer to use powerful audio and video libraries. Built on the Java programming language, Processing “sketches” can be embedded in a Java applet and accessed via a web browser and the Java browser plugin. In 2008, John Resig ported Processing to the Javascript language, which replaced the need for the Java plugin with the canvas element in HTML and the Javascript language. This provides a wealth of tools that can help transform static webpages, into interactive web applications, rivaling those written in “native” code (like C++).
Introduction to openFrameworks: From Beginning to Launching a Mobile Application
6 years ago— September 6, 2011
This is an introduction to using openFrameworks, a cross-platform C++ library for creative coding. In this class, you will be taken from the first steps of installing openFrameworks, all the way to launching an interactive mobile application. Because openFrameworks is a powerful open source tool designed to simplify building creative applications, it has rapidly become one of the tools of choice for a new era of creative designers. This class is for artists, designers and hackers alike, beginners should not be afraid to join. 
HTML5
6 years ago— May 7, 2011
Peter Lubbers teaches an intense course all about HTML5.

Let’s face it, the notion of art is evolving rapidly and the tools to create art are becoming more and more powerful. Our Creative Technology Studies (CTS) program is designed for those interested in learning the skills necessary to code, hack, and solder your dreams together.

Certificate

Our CTS certification encompasses a total of 24 hours of core curriculum + 24 classroom hours in your emphasis. Choose between one of four emphases: Sound Emphasis, Visual Emphasis, Physical Interaction and Web Emphasis.

Become a Member

Become a member of Gray Area Foundation for the Arts and help fulfill our mission of expanding participation in the emerging arts by investing in our innovative programs and state of the art facilities.

Class not currently offered?

Is there a class that you would like to see included in our catalogue? Let us know! We love to hear from our students.