CS 410P/510 Sound: Computers, Sound and Music

Term: Spring 2020
Credits: 4 (410P), 3 (510)
CRN: 60898 (410P), 60917 (510)
Section: 45 (410P), 50 (510)
Meeting Time: Monday, Wednesday 1400-1550 (2:00-3:50PM)
Meeting Location: Remote (see below)
Instructor: Bart Massey (bart AT cs DOT pdx DOT edu)
Prerequisites: See below


Everything about this syllabus is entirely tentative, and maybe be changed at the whim of the instructor without warning.


In this course we will learn to use computers and software to work and play with sound and music.

Digital pervades every aspect of sound and music these days. It's all driven by software. We write software. Let's try to understand all of this at some superficial level in just ten weeks.

This is a programming-intensive survey course. We will give an overview of many areas of digital audio and music analysis, construction, and transformation.


Required Courses: CS 201, CS 202, CS 350

Familiarity with programming in general and C/C++ in particular is required. Basic ability to use the Linux environment is required. Python experience is highly desirable.

Goals, Topics and Objectives

Upon the successful completion of this course students will be able to:

  • Identify and process standard representations of digital audio, including PCM (e.g. WAV), lossless (e.g. FLAC) and lossy (e.g. MP3) compressed audio, and MIDI.

  • Use Digital Signal Processing techniques to work with audio, including both time and frequency domain methods.

  • Understand and produce common digital audio effects.

  • Synthesize sound using standard and advanced digital techniques.

  • Understand and apply principles of music structure and composition in the analysis and generation of digital music.


Readings will be assigned from the Internet.

Course Communication

Remote Course

I will be teaching this course remotely for this offering. This will be a challenge for all of us. I am confident we can get a good outcome, but please bear with me as we work the details out.

To participate effectively in this course, you will need to have good Internet access, including outside of lecture hours. In addition, you will need some sort of computer at home that you can program to do audio: because this is an audio course, remote access to PSU computers is not really an option. If either of these is a problem for you, please contact me as soon as possible so we can try to work out an accommodation.

Lectures will be starting at the listed course time (2:00 PM Monday, Wednesday) using the Zoom meeting tool. While it is possible that some lectures will run the full two hours, a lecture time of about one hour will be normal. In addition, short video lectures will be posted to YouTube and PSU MediaSpace that you should watch before each lecture. Lecture time will be focused on demonstrations and discussion. Lectures will be recorded for later viewing if necessary, but you are strongly encouraged to attend in real-time if at all possible.

Communication Tools

Email will be used infrequently. You are required to use your official email address as registered with the University to participate in this course. This enables greater security for online communications.

Lectures will be online via the PSU Zoom videoconferencing tool. Lecture invites will be distributed on Slack (see below).

This course will use the Moodle "Learning Management System" instead of Desire2Learn, because Moodle works better. The insructor will enroll students in the Moodle: if the course has begun and you are still not enrolled, contact the instructor. The course page for the Moodle is here.

Online communications for this course will be through a shared workspace provided by the Slack chat tool. Everyone is required to participate in the channel. Please see the top of the course Moodle page for a course Slack invite link (available once the Moodle is set up) if you don't already have one. Please use Slack for discussion with other students, and as the first-choice place to message me if you want to discuss. I should be available pretty solidly on Slack during the quarter. However, I'd encourage you to post to the course Slack channel if possible, as some other student may get to your question quicker.

Video will be shared on my YouTube channel in the Sound and Music Programming playlist as well as on PSU MediaSpace.

Course Work


This course requires substantial out-of-class homework and study. Expect to spend at least 8 hours of out-of-class time each week mastering this difficult material.

I encourage group collaboration on individual assignments: using the course Slack or creating online chat-room study groups to discuss the approach and understand the problem is encouraged. The write-up, programming, and actual solutions must be your individual work. If you represent someone else's work as your own, you are committing plagiarism (see below).


I will assign homework. Late homeworks will be accepted, if at all, only for good reasons and at a substantial penalty.

You may submit a homework as many times as you like, with the latest assignment received before grading being the only one considered for a grade. Please submit something before the deadline, even if it is only your name—you can then continue to work on your assignment as desired up until they are graded.

Assignments will be graded for having been turned in and having made a reasonable effort, as well as for a reasonable degree of correctness.

Course Project

There will be a substantial course project starting at about week three. This project may be completed individually or in groups of 2-4 as desired.


Homework assignments are currently planned to count for about 60% of your course grade; the other 40% being for the project. This may change, however. No exams are planned or expected. There may be some quizzes as part of the homework assignment, depending on how things work out.

A zero on any one assignment will result in a zero for the course. Please turn in something for every assignment.

Academic Honesty

Cheating on homework or the project will result in a grade of zero on the affected material, and will be reported to appropriate authorities. Plagiarism is a form of cheating. Please do not let me catch you plagiarizing.

Plagiarism: n 1: a piece of writing/work that has been copied from someone else and is presented as being your own work 2: the act of plagiarizing; taking someone's words or ideas as if they were your own.

If you use code, ideas, or text authored by someone else, cite them. It is OK to get help from external sources of knowledge, but citation is mandatory.

Access and Inclusion for Students with Disabilities

PSU values diversity and inclusion; we are committed to fostering mutual respect and full participation for all students. My goal is to create a learning environment that is equitable, useable, inclusive, and welcoming. If any aspects of instruction or course design result in barriers to your inclusion or learning, please notify me. The Disability Resource Center (DRC) provides reasonable accommodations for students who encounter barriers in the learning environment.

If you have, or think you may have, a disability that may affect your work in this class and feel you need accommodations, contact the Disability Resource Center to schedule an appointment and initiate a conversation about reasonable accommodations. The DRC is located in 116 Smith Memorial Student Union, 503-725-4150,,

If you already have accommodations, please contact me to make sure that I have received a faculty notification letter and discuss your accommodations. For information about emergency preparedness, please go to the Fire and Life Safety webpage for information.

Gender-Based Discrimination and Sexual Harassment

Portland State is committed to providing an environment free of all forms of prohibited discrimination and sexual harassment (sexual assault, domestic and dating violence, and gender or sex-based harassment and stalking). If you have experienced any form of gender or sex-based discrimination or sexual harassment, know that help and support are available.

Information about PSU’s support services on campus, including confidential services and reporting options, can be found on PSU’s Sexual Misconduct Prevention and Response website at: or you may call a confidential IPV Advocate at 503-725-5672 or schedule online at

You may report any incident of discrimination or discriminatory harassment, including sexual harassment, to:

  • PSU’s Title IX Coordinator: Julie Caron by calling 503-725-4410, via email at or in person at Richard and Maureen Neuberger Center (RMNC), 1600 SW 4th Ave, Suite 830

  • Deputy Title IX Coordinator: Yesenia Gutierrez by calling 503-725-4413, via email at or in person at RMNC, 1600 SW 4th Ave, Suite 830

  • Deputy Title IX Coordinator: Dana Walton-Macaulay by calling 503-725-5651, via email at or in person at Smith Memorial Union, Suite, 1825 SW Broadway, Suite 433

Please be aware that all PSU faculty members and instructors are required to report information of an incident that may constitute prohibited discrimination, including sexual harassment and sexual violence. This means that if you tell me or another faculty member or instructor about a situation of sexual harassment or sexual violence that may have violated university policy or student code of conduct, that person must share the information with their supervisor, the University’s Title IX Coordinator or the Office of the Dean of Student Life. However, the Title IX Coordinators will keep the information confidential and refer you to a confidential advocate.

For more information about Title IX please complete the required D2L student module Creating a Safe Campus.

Last modified: Thursday, 26 March 2020, 6:08 PM