CAAD Theory: Code-Acoustics

Computer programming from the perspective of time


One of the usual ways of teaching computer science to architects is via computer graphics and animation. There are many programming languages out there which simplify the process of displaying images on the screen and introduce pre-programmed code templates used to animate these images in time. Prominent examples include Processing, OpenFrameworks, Cinder, which are derivatives of Java and C++ programming languages where computer graphics are just a small part of their functionality and such templates have to be built for each computer program. In such simplified language derivatives like Processing, important concepts like concurrency (having independent program modules running synchronised at the same time, interacting with each other), synchronisation, events and signals are very unintuitive and difficult to implement.

However, when creating musical composition, concepts of concurrency and synchronisation are the most important to understand and implement. Everything is in the right timing and communication – same with symphonic orchestra, computer program or interactive multimedia installation. In order to create truly interactive work, or just any work that includes multiple computers or devices communicating to each other, aforementioned concepts are beneficial to master.

The goal of this class is to teach you the concepts and technology to create multimedia, time-critical composition using code. We will be using real-time multimedia language ChucK, which is organised around the concept of time, offers audio computation, and user interface elements (track pad, joysticks, midi-controllers, etc.). ChucK is used by millions of users throughout the world, and is the backbone of dozens of academic programs and laptop orchestras. This course was designed to teach a novice programmer how to code, but will be useful for more experienced programmers.


number max. 20 / min. 10 motivated students
dates Mondays, 13:00 – 15:00
introduction 19.02.2013
place Chair for CAAD, HPZ, Floor F unless announced differently
tutors Nikola Marincic, Thomas Schmalfeldt, Jorge Orozco