Home About Schedule Projects Resources

Course Number: 15-322A, 15-622A
Class time: Tuesday/Thursday 1:30PM - 2:50PM
Location: HH B131


Jesse Stiles
Office hours: Wednesdays, 2:30PM to 4:30PM. Hunt Library Media Lab, HLA10A.

Course design:

Roger Dannenberg

Teaching Assistants:

Shiyao Qu <shiyaoq@andrew.cmu.edu>, Office hours: Thursdays, 3PM - 5PM: Sorrells Engineering and Science Library
Glen Wise <glen@cmu.edu>, Office hours: Mondays, 3:30 - 5:30PM, Hunt Media Lab (HLA10)

For on-line discussions, questions and answers, and announcements, please use Piazza.


Curtis Roads, The Computer Music Tutorial. This is a BIG book. It’s great. It covers most of what we will do in class, but it does not cover the language Nyquist or the editor Audacity, nor does it talk about composers, composition, and specific compositions that we will listen to in class. The scope of this book is much larger than the scope of the class, so there is plenty of extra material in case you want to explore areas outside the class. It may seem overkill to buy such a comprehensive book that we cannot fully utilize, but the book is actually cheaper than what I consider to be good alternatives.

Mary Simoni and Roger B. Dannenberg, Algorithmic Composition: A Guide to Composing Music with Nyquist. This book gives an introduction to the Nyquist programming language and contains many examples of algorithmic composition. Many students will be able to skip or skim thse sections on Nyquist and programming, which are intended for beginning programmers. However, class projects will be based on algorithmic composition concepts presented in the book.

The Nyquist Reference Manual (PDF, HTML) is a book in electronic form. You can print it (and bind it, and I’ll autograph it, but I digress ...) from a PDF file, or you can access it on the web or from your local Nyquist installation. The first half (up to the chapter "Nyquist Functions" is intended to be introductory and explanatory, so please use this to supplement Algorithmic Composition and the Nyquist lectures.

15-322 vs 15-622

For Emerging Media Masters (EM2) candidates this course is offered as 15-622. Students taking the course under 15-622 are expected to execute an ambitious semester-long project, in addition to all the other requirements of 15-322.


Late Policy

Every student has up to 3 late days that may be used for any projects throughout the semester. If the late days are used up, The grade will be

(1 - (0.1 * extra_days)) * the_earned_grades

By one day late we mean 24 hours late. For example, if a student is 2 days late for Project 2 and 3 days late for Project 4, and he/she gets full marks in both projects, then his/her grades will be:

100/100 Project 2
80/100 Project 4

Laptops and Cell Phones

As research on learning shows, unexpected noises and movement automatically divert and capture people’s attention, which means you are affecting everyone’s learning experience if your cell phone, pager, laptop, etc. makes noise or is visually distracting during class. For this reason, you may take notes on your laptop, but you must turn the sound off so that you do not disrupt other students’ learning. If you are doing anything other than taking notes on your laptop, please sit in the back row so that other students are not distracted by your screen.

Recording in Class

Classroom activities may be taped or recorded by a student for the personal, educational use of that student or for all students presently enrolled in the class only, and may not be further copied, distributed, published or otherwise used for any other purpose without the express written consent of your professor. All students are advised that classroom activities may be taped by students for this purpose.

Academic Integrity

All students are expected to be familiar with, and to comply with, the University Policy on Cheating and Plagiarism.

We regard programming, especially for music, as a creative process. There is never just one way to program a task, and tasks in this course intentionally require some creativity.

Any work submitted as a homework assignment or examination must be entirely your own creative work and may not be derived from the work of others, whether a published or unpublished source, the worldwide web, another student, other textbooks, materials from another course (including prior semesters of this course), or any other person or program. You may not copy, examine, or alter anyone else's homework assignment or computer program, or use a computer program to transcribe or otherwise modify or copy anyone else's files. You may adapt or incorporate examples used in lectures, shown in class, or presented by TAs, but only if you understand the examples, and only if the result contains significant creative additions and alterations.

To facilitate cooperative learning, it is permissible to discuss a homework assignment with other students, provided that the following whiteboard policy is respected. A discussion may take place at the whiteboard (or using scrap paper, etc.), but no one is allowed to take notes or record the discussion of what is written on the board, and you must allow two hours to lapse after any discussion before working on the assignment. The fact that you can recreate the solution from memory is taken as proof that you actually understood it.

It is not acceptable to share your solutions or give hints to your friends for projects and exercises after you have already discovered the correct idea. You are not helping your friends by doing so. The right thing to do is to not talk about the problem after you have a solution, and anyone struggling with the homework should visit office hours to talk to an instructor or TA. This shows the respect deserved by your friends as well as the people who have put a lot of effort into creating the problems.

In order to deter cheating we also run automatic code comparison programs (such as MOSS). These programs are very good at detecting similarity between code, even code that has been purposefully obfuscated. Such programs can compare a submitted assignment against all other submitted assignments, against all known previous solutions of a problem, etc. The signal-to-noise ratio of such comparisons is usually very distinctive, making it very clear what code is a student's original creative work and what code is merely transcribed from some other source. Often in previous semesters, however, we have discovered cheating due to the simple fact that the TAs are familiar with many different versions of the solution. Cheating is simply not worth the risk.

One final note: receiving credit for an assignment or exam is not an indication that we did not detect cheating. Because dealing with cheating cases is a lot of work for the TA's and the instructors, we often delay enforcement until well into the second half of the semester and take action all at once, after we identified a number of cases. This usually leads to unfavorable outcomes for the students involved. Consequences for cheating may be as severe as failing this course and being reported to the Office of the Dean of Student Affairs.

Acknowledgement: This Academic Integrity policy and text has been copied (!) from other CS syllabi, especially 15210.