8 December 2023


Course Number: 15-322A, 15-622A
Class time: Tuesdays and Thursdays 12:20PM – 1:40PM Eastern Time.
Location: Remote only (see Canvas or Piazza for Zoom link)

Tom Cortina (tcortina@cs.cmu.edu) – Office Hours: Wednesdays 9:45-11:15am Eastern
Tom Sullivan (tms@ece.cmu.edu) – Office Hours: Tuesdays 11:30am-12:15pm and 1:45-2:30pm Eastern
(see Canvas or Piazza for Zoom links)

Course design, Nyquist development:

Roger Dannenberg: rbd@cs.cmu.edu

Teaching Assistants / Extra Help Hours:

Daniel DeAngulo, ddeangul@andrew.cmu.edu
Jonathan Harvey Fischer, jhfische@andrew.cmu.edu
Maia Iyer, maiai@andrew.cmu.edu
(see Canvas or Piazza for Zoom link)

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

Required Textbooks

Roger Dannenberg, Introduction to Computer Music. This book is the most direct source of information for the course since it was written originally as the course notes for this class over a number of years. There is a free PDF version online, and you can order a physical copy of the book for $19.50 plus shipping if you’d like.

The Nyquist Reference Manual (PDF, HTML) is a book in electronic form.  The first half (up to the chapter “Nyquist Functions”) is intended to be introductory and explanatory, so please use this to supplement the text for additional information about Nyquist.

Optional Textbooks

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 these 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 library has an electronic version of this book as well.

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. There are many sources to buy paper copies of the book (new or used) and there is an electronic version available through the library.

15-322 vs 15-622

For graduate students 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.


Attendance is required. You should not expect your grade to be higher than the percentage of classes you attend. See the section below on attendance.

  • On-line exercises count 8%. Remember that you must do these on time to get full credit. The online exercises will allow you to test your understanding of the key concepts as you proceed through the course. Completing on-line exercises opens up subsequent exercises, so you should not miss any of these.
  • Projects 1-6 count 42% (7% each). Do not skip projects or, as simple math will tell you, your grade average will plummet.
  • Project 7 counts 15%
  • Exam 1 counts 10%
  • Exam 2 counts 10%
  • Final Exam 15%

15622 Students: Your additional project will be worth an additional 10%. Your final total will then be scaled back to 100% total. Details for the 15622 project will be posted soon.

Overall, if your final weighted score ends up at 90% or higher, you are going to get an A in the class. If your weighted score ends up at 80% or higher, you are guaranteed at least a B. A weighted score of 70% or higher is guaranteed at least a C. And so on. For graduate students, we may add a + or – to the grade if it is near the top or bottom of any grade range.

Grading Policies

Throughout the semester you will have 3 grace days for late delivery of Projects, after which your grade will be reduced for late delivery of work. Late delivery of online work will be penalized.

Grades will be determined through a combination of peer grading and assessment by the teaching staff. You will be asked to participate in peer grading by evaluating 3 projects submitted by your peers. It is possible to earn bonus points by evaluating more than 3 projects. Evaluating less than 3 projects will result in a loss of points.

For full details of the grading policy see this page.

Remote Delivery

Due to the pandemic and our overall class size, all lectures will be delivered through Zoom remotely. We will try to include interactive activities at various points in the lectures so you can participate more fully, and we will have some time to listen to computer music examples. Presence on campus for this course is not required whatsoever, and we will remain in remote-only mode for the entire semester, irrespective of the pandemic data.  

Class Recordings & Attendance Policy

You are expected to be present for each lecture.* Due to the pandemic, we are recording all lectures and posting them in the Canvas course site. These are generally meant for review so you can go back to material as you work on assignments or prepare for exams. They are not meant as a means for you to skip class. So we have instituted an attendance policy where you will be allowed 4 free absences without penalty. After that, subsequent absences will result in a 5% reduction from the maximum score you can obtain in the course which is normally 100%. (An absence is defined as missing more than 40 minutes of any lecture.) As an example, if you miss 7 classes, your maximum score in the course will have an upper-bound of 85%. So if your final overall score was 91%, you would end up with 85%. Don’t miss class!

*For students who are residing in far-off time zones that will make this course start after 9pm or before 9am, you can request an exception to this policy using a private note on Piazza. If approved, the instructors will ask for you to post a short summary of each lecture as a response to the post as evidence of attendance. For students with course conflicts, you must attend lecture for this class, although you can miss up to 4 classes without penalty if you need to be in the other class for some reason (e.g. an exam).

Besides lectures and exams, there will be one additional attendance requirement, when we will hold a Computer Music Concert featuring some of the best work from the final class project assignment in 15322/15622. A separate attendance score will be factored in to your project grade for this final assignment.

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 sound and 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 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. And you are obligated not to share your assignment answers with students in class (including subsequent semesters of this course). Posting assignment solutions on a website for others to view, both publicly or by subscription, is also a violation of academic integrity in this class.

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 a whiteboard/blackboard, physical or virtual, 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 and erasing 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. If you find that you are struggling to keep up due to personal issues, contact an instructor; we may be able to help with a short extension to lower the stress and help you recover. 

In order to deter cheating we also run automatic code comparison programs. 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 and, in the end, it does you no good. Start each assignment early, ask for help before the TAs get overloaded, and you won’t get yourself into time crunches at the last minute.

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.

Accommodations for Students with Disabilities

If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.


Take care of yourself.  Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress. All of us benefit from support during times of struggle. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is almost always helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website athttp://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:

CaPS: 412-268-2922
Re:solve Crisis Network: 888-796-8226
If the situation is life threatening, call the police
On campus: CMU Police: 412-268-2323
Off campus: 911

If you have questions or concerns about this or your coursework, please let us know. 

Diversity, Equity and Inclusion

We must treat every individual with respect. We are diverse in many ways, and this diversity is fundamental to building and maintaining an equitable and inclusive campus community. Diversity can refer to multiple ways that we identify ourselves, including but not limited to race, color, national origin, language, sex, disability, age, sexual orientation, gender identity, religion, creed, ancestry, belief, veteran status, or genetic information. Each of these diverse identities, along with many others not mentioned here, shape the perspectives our students, faculty, and staff bring to our campus. We, at CMU, will work to promote diversity, equity and inclusion not only because diversity fuels excellence and innovation, but because we want to pursue justice. We acknowledge our imperfections while we also fully commit to the work, inside and outside of our classrooms, of building and sustaining a campus community that increasingly embraces these core values.

Each of us is responsible for creating a safer, more inclusive environment.

Unfortunately, incidents of bias or discrimination do occur, whether intentional or unintentional. They contribute to creating an unwelcoming environment for individuals and groups at the university. Therefore, the university encourages anyone who experiences or observes unfair or hostile treatment on the basis of identity to speak out for justice and support, within the moment of the incident or after the incident has passed. Anyone can share these experiences using the following resources:

All reports will be documented and deliberated to determine if there should be any following actions. Regardless of incident type, the university will use all shared experiences to transform our campus climate to be more equitable and just.