I have written, for my own use, what I hope to accomplish with my thesis: a pedagological document for those who would like to learn SuperCollider. The learning audience is assumed to be made up of people who have enough computer skills to create a document and to surf the web, but no programming background. It's also assumed they have a small very basic music knowledge such that they know terms like note and rest, but they do not necessarily have any experience composing:
The most important thing when learning C++ is to focus on concepts and not get lost in language-technical details. The purpose of learning a programming language is to become a better programmer; that is, to become more effective at designing and implementing new systems and at maintaining old ones. For this, an appreciation of programming and design techniques is far more important than an understanding of the details; that understanding comes with time and practice.
- Bjarne STROUSTRUP. The C++ Programming Language, Third Ed. p 6
STROUSTRUP is the inventor of C++, which is a language used for building all sorts of applications. SuperCollider is a language used only for music. Therefore, the most important thing when learning SuperCollider is to become a better composer. However, that may be facilitated both now and with future non-SuperCollider computer music endeavors by becoming a better programmer. Therefore, this document will cover programming and musical concepts. At the end, you should be able to make music with SuperCollider and, if you like, go on to more quickly learn another Object Oriented Language.
I found this helpful, because I want to balance programming concepts with music making. I strongly believe that a strong programming base will make users more confident and more able to realize their ideas. Ron says that I need to give them candy. He's right. Making sound is important. However, beginning programming classes start with hello world, then go to convert farenheight to centigrade and continue with other non-exciting applications. People don't take programming classes to learn how to do a conversion that google will do for them. The ability to get the computer to do anything is a piece of candy for any one in a programming class. I think even a musician will feel a moment of "I wrote this!" pride when they write something to calculate pitches form a base frequency and a tuning ratio.