SuperCalisthenics
Assign: Wednesday, September 8
Due: Friday, September 17
Assignment Policies
All assignments are partner assignments. Please make sure to review the policies and guidelines about discussing assignments with those other than your partner. Assignments are usually, but not always, a combination of paper and coded exercises. Please make two submissions (one for paper exercises and one for coded exercises) to Gradescope. Paper exercises are marked with HW to indicate a handwritten question and C to indicate a coded question. Paper submissions can receive an extra 2% bonus if they are typed. Please visit the tools section of the website for more information.
Assignment Description
This assignment has three parts:
- Signup for Gradescope and Piazza. Gradescope is where you will submit your materials for each assignment. It will also be your one-stop shop for all your grade information. Piazza will be the online forum to ask questions about CS203 anonymously. Please use Piazza instead of email to ask questions about the course or an assignment.
- Complete the exercises in the math primer
- Complete the code assignment on functions in SuperCollider
Part 1: Gradescope
To signup for Gradescope, go to https://www.gradescope.com and click Sign Up at the top. The course code entry for this class is RW6PD3.
Part 2: Math Review HW
Review the Math Review that is also found in the tools section and complete all the exercises. There are exercises for the four sections on sinusoids, trigonometric identities, summation notation, and complex numbers. These should all be review from high school math. These exercises are a good check to make sure that you have the appropriate mathematical background for CS203. If you feel lost or have not seen these topics before, please consult with Andy immediately. It is important that students feel comfortable with this material as this knowledge will be assumed moving forward in the course.
Please submit your answers to the exercises in the review to Gradescope.
Part 3: Reading Music
I would like everyone in the class to have a basic understanding of how to read music. There will be a few times during the semester where we will look at some written music and try and translate that to SuperCollider. Having a passing knowledge of reading music is important to help us understand how the behavior of certain aspects of SuperCollider work.
To that end, I have created a crash course video on reading music (approx. 35 mins). Afterwards there is a short assignment on Gradescope that tests your knowledge of reading music. The name of the assignment is named “Reading Music”. It is untimed, and you can start and come back to it whenever you like. If you already read music, then simply skip the video and do the assignment.
Video Link: https://youtu.be/wopKdVE0zj8
Part 4: Getting to Know SuperCollider C
This assignment provides an opportunity to get a handle on the basics of the SuperCollider language, sclang, that is used to control the sound server. sclang is a fully functional programming language capable of performing musical and non-musical tasks. Descriptions of the tasks you need to complete can be found in the starter code for assignment. The purpose of this task is to review concepts from introductory programming in the context of SuperCollider.
Starter Code
Download the starter code here.
Challenge
This assignment features one challenge exercise at the end. Challenge exercises are exactly as they sound. The purpose of the challenge exercise is to extend your understanding of the material. They are generally worth less points but are required to receive full credit for the assignment. This challenge exercise asks you to write a function that maps notes to their frequencies. To complete this task, you will need to write a more involved function and to make use of parts of the language not discussed in class. Make sure to use the Help documents for tools that you can use to complete your task.
Submission
Feedback
When you are finished with the problem set, please fill out the form linked here to provide feedback on how long the problem set took you and how difficult you found it. Note that you must fill out this form to receive credit for the problem set.
Submission Guidelines
All assignments in this course are submitted through Gradescope. There are two kinds of assignments in this course: paper assignments and code assignments. Both are submitted to Gradescope. Most assignments are a mix of code and paper assignments. Each question or question part will be marked either “code” or “paper” to indicate which kind of question it is. For paper assignments, note that typed answers will receive a small additional bonus of 2%.