Computer Music II

Columbia University
Spring, 2011 -- G6611Y
Brad Garton and Damon Holzborn

course syllabus
general resources

We are going to try something completely new this term: programming for mobile-computing platforms (with obvious emphasis on iOS [iPhone, iPad] devices). We've developed a suite of software tools and libraries based upon the RTcmix music-progamming language, and our intention is to teach how to use these to build wonderful and exciting new apps that will boldly go where no one has gone before, change the world, make gazillions of dollars for everyone, etc. Oh the fun we will have!

Seriously, this will be a slightly-more-intensive seminar than usual, given the amount of material we hope to cover. But we do have a pretty good system for prototyping audio applications and quickly building iOS apps that should be relatively easy to use. Although we will be doing a fair amount of programming in this class, for non-hackers this will be mitigated by three factors: 1) All of the coding we do will be motivated by musical objectives -- we will be striving to show how to solve particular musical issues with the programs we develop in class. 2) We will be providing a range of resources also designed to show "how to do it" in addition to the walk-through exercises we do in class. We want to be sure you have the ability to find the information you need to do what you want to do. 3) We will be providing many templates for various applications. Often you may be able to develop your own work through simple modifications of these templates.

In any case, please don't be put off by the relative emphasis on coding this year. If you are struggling, don't hesitate to talk with us so that we can help set you on the road to Mobile App Nirvana.


Class meets on Tuesdays in 320H Prentis from 5:30 to about 8 or so. We will be making a number of assignments throughout the term. The intention is not to use these for grading (this is a graduate seminar, after all... the assumption on our part is that you know by now what you're doing with your life. Yeah.), but to discuss the assignments at the beginning of each class meeting. Since this is an entirely new curricular adventure for us, these assignments will also give us knowledge about what we need to reinforce or cover in more detail. Again, if you are having problems with any of the assignments or course materials, please talk to us!

The outline of the class is covered, of course, in the syllabus. As the semester progresses, each week will be a link to examples, documentation, class work, etc. relevant to that week's discussion. The basic set of on-line resources is also listed in the class resources web page.

We will also have several guest speakers through the term. Sam Pluta has done a lot of work and thinking about interface design, an issue at the forefront of the app development we will be doing. Dan Iglesia has done advanced iOS programming and will be showing his work. Douglas Repetto has been exploring the Android platform for mobile app creation. Related to Douglas' talk -- although the bulk of the class will be focused upon the use of iOS devices, we will be touching on equivalent work for Android devices. The simple fact at this point in time is that iOS is much more advanced for musical programming work. This seems to be changing rapidly, however. Hopefully the concepts we discuss in the seminar will be easily transportable to Android for those wishing to get away from the Apple hegemony.


Although the bulk of the work in this class will be software-based. you may have occasion to need access to our studio facilties. Nearly all of the CMC studios and hardware resources are available for you to use in this class. Check with us about what we have and how best you might want to use these resources.

You may reserve time in our studios using our on-line signup system. Bear in mind that you will be sharing the CMC with other students, and certain classes will be given priority for particular studios (i.e. Recorded Sound will have priority for using the recording studio). Also be sure to leave the studio spaces in decent shape. If you notice anything wrong -- damaged or missing equipment, other problems -- let us know immediately.


The course syllabus is located here.

As noted above, we'll try to keep up with linking in class patches and examples, but we may fall behind. Yell at us when we do.

Contact Information

The best way to reach us is through e-mail: I will also be holding semi-official office hours from 10:30 AM-12:00 noon on Wednesdays in Dodge (my Dodge office is room 807). I will also usually be around before or after class. In addition to being around the CMC on Tuesdays, Damon will be available by appointment for informal "lab" sessions.

It's always a good idea to make an appointment to see me, even during my purported office hours, because I often have to run around campus like a maniac doing strange, computer-music stuff. If you need to contact someone at the CMC or Music Department using your actual voice, the relevant phone numbers are:

Mailing List

We will maintain a class mailing list, but it's also a good idea to sign up for one of our main CMC mailing lists: If you have any annoucements that may be of general interest to the CMC population, you may also post (with moderator approval) to these lists.

Security and Access Policy

One of the things that has changed beginning this semester is the access to Prentis Hall. For graduate students and external auditors taking our classes, 24/7 with card-swipe access will still be in effect (essentially no change, except that you will need to be approved for access -- Prentis will no longer be open to all CUID holders). For undergraduates, however, you will not be allowed to be in Prentis between midnight and 7 AM. Card-swipe access for undergraduates will be turned off during these hours, and (unfortunately) we will need to enforce sanctions against any undergraduate student who remains in Prentis during this time-period. This policy is also listed here.


Grades will be based mainly on the projects you do, and of course they will be completely subjective and based on our own personal whims -- so ya better treat us right! As noted above, we will be making assignments throughout the term, and we will be discussing these in class. It'a always fun to see what you all can do.

I say this every year, and generally people believe it (I think): by this point in your career the last thing you should be worrying about is a grade. The main thing is to find something that you'd really like to do and then do it. Please don't try to impress us with your consummate knowledge and skill, we are more impressed by people who do things. Honest!

Hope you enjoy the class!