Assignments#

List of released assignments#

See also

See the Schedule for the full list of assignments and their due dates.

Submission instructions and policies#

Each assignment in this course is one of two types:

Autograded assignments are submitted via Gradescope. The programming portions are graded automatically, and the free response questions (answers.txt) are graded manually after the due date.

Open-ended assignments are also submitted via Gradescope, but Gradescope checks for submission formatting only. The assignments are graded manually after the due date based on meeting the stated requirements.

Important

Assignments marked with are the open-ended, AI-allowed assignments. They follow the open-ended submission instructions and policies below; all other assignments follow the autograded instructions and policies.

Academic integrity

Everything you submit must be your own work. You may not work with other students on assignments, except when complying with the stated cooperative learning policy. See the academic integrity policy in the syllabus for the full rules.

AI policy enforcement

Even when AI is allowed, you remain responsible for every bit of information in your submissions. Course staff may ask you at any time to explain or debug your own submission. Failing one of these checks means a 0 on the assignment and may bring an academic integrity charge. See enforcement of AI policy in the syllabus for the details.

Late work

You must upload your assignment to the correct portal by 11:59:00p Eastern Time on the day of the deadline to get full credit. Assignments are accepted up to 5 days late at a 10% penalty per day, and you have 5 grace days for the semester (one per assignment). See the late or missing work policy in the syllabus for the details.

Grade release

Grades for each assignment are posted to Canvas 1-2 weeks after the due date, once manual grading is complete. Gradescope reflects only the automated portion of your score.

Autograded submission instructions and policies#

Autograded assignments will be submitted via Gradescope. Please see each assignment description for a link to the Gradescope submission portal specific to that assignment.

Warning

You are not allowed to use AI when completing autograded assignments.

Grading policy#

Your grade for an autograded assignment will be calculated as:

  • 70% autograded score

  • 30% free text responses (manually graded by TAs after the deadline)

Gradescope will automatically give you a score out of 70 points. This is your autograded score for the assignments!

You are the first batch of students interacting with each of these autograders. Accordingly, please start early and feel free to post on Piazza if you encounter any issues or ambiguity with the autograder feedback.

Open-ended submission instructions and policies#

These instructions apply to the open-ended assignments. Open-ended assignments will be in one of two formats: creative, or technical. They will be submitted as bundled .zip files conforming to the format descriptions below, and must not exceed 100MB.

Your grade for open-ended projects will be based on manual review. You will use Gradescope to submit your assignments, but the “autograder” will only check your project formatting. After the deadline, course staff will manually review that you are meeting each of the high-level project requirements.

Tip

You are strongly encouraged to use AI when completing open-ended assignments, but you remain responsible for reviewing all AI outputs and understanding them.

AI guidelines#

When using AI for open-ended assignments, follow these general guidelines:

  • Don’t copy paste the entire assignment description into the AI agent

  • Instead, read through the assignment description yourself, completing it one step at a time

  • For some steps, you’ll work entirely by yourself, for others, provide a detailed description to the AI agent to complete the step

  • You are allowed to use the AI to help you with the project documentation, i.e., to prepare CREATIVE.md or TECHNICAL.md, but you must read and review all text content carefully.

This format centers around creating a musical composition by combining a creative vision with technical computer music programming, culminating in a final composition audio file.

An ideal submission involves a non-trivial amount of programming in Python/Pyquist to accomplish a focused creative goal that conforms to all stated requirements. External tools (e.g., DAWs like Ableton Live) are allowed, but significant portions of your composition should be realized in code.

Computer music does not have to sound like something you would hear on the radio! Grading will center around your technical achievements and realization of your creative intent, not the aesthetics or musical prowess of your composition.

Submission files

Place all of the following files in a single zip file:

  1. composition.wav | composition.mp3: Your final composition audio file. Minimum 60s, maximum 5 minutes, 44.1kHz or 48kHz, stereo preferred. One of WAV or MP3 is required; WAV is preferred, but MP3 is acceptable if you’re having trouble fitting into the 100MB limit.

  2. CREATIVE.md: A Markdown file fully documenting your submission, in the exact format of the template below.

  3. src/: A directory containing your Python/Pyquist code. A non-trivial portion of composition.wav must be generated when re-executing this Python code. Any structure is fine within this directory, as long sufficient documentation appears in CREATIVE.md (see below). Include all dependencies necessary to execute your code, including code dependencies and sound assets. Any dependency that we can pip install does not need to be included.

Click here to download the template for CREATIVE.md. Your CREATIVE.md file should be formatted exactly like this template. Namely, all ## Section Headings should remain unchanged, but otherwise all text below should be replaced with your own writing.

Example composition

Here is an example composition for Assignment 3 Direction 1: Create a cover. TA Marco Cardenes created this cover of Stevie Wonder’s Overjoyed:

This format centers around accomplishing an ambitious technical computer music programming, and documenting your accomplishments with a video demonstration.

Your submission must at a minimum achieve all stated requirements, though you are free to explore and accomplish more than the stated requirements!

Your video demonstration must adhere to the following format:

  • Between 2 and 5 minutes in length

  • Must be narrated with your own voice

  • Screen recording preferred (Zoom, OBS), cell phone videos of screens accepted assuming we can see your screen clearly

    • Easy screen recording: Start a Zoom meeting. Click Share screen and make sure Share sound is enabled. Click More > Record > Record to this computer

  • Presentation flow w/ suggested durations:

    • (15-30s) State the high-level goal of your submission

    • (15-60s) Show a demo of your final result

    • (60-120s) Explain how you satisfied each requirement, showing the relevant parts of your code

    • (00-60s) Share any additional technical accomplishments, discoveries, or features of your submission that you’d like to highlight

  • Acceptable visuals: code, slides, demos, anything really (keep it appropriate)

You may use ffmpeg to reduce file size, e.g.:

ffmpeg -i demo.mov -vcodec libx264 -crf 28 demo.mp4

Please do not speed up or slow down your video by more than 10%.

Submission files

Place all of the following files in a single zip file:

  1. demo.mp4 | demo.mov | demo.mkv: Your final demo video file. Minimum 2m, maximum 5m. Your video must adhere to the guidelines above.

  2. TECHNICAL.md: A Markdown file fully documenting your submission, in the exact format of the template below.

  3. src/: A directory containing your Python/Pyquist code. Any structure is fine within this directory, as long sufficient documentation appears in TECHNICAL.md (see below). Include all dependencies necessary to execute your code, including code dependencies and sound assets. Any dependency that we can pip install does not need to be included.

Click here to download the template for TECHNICAL.md. Your TECHNICAL.md file should be formatted exactly like this template. Namely, all ## Section Headings should remain unchanged, but otherwise all text below should be replaced with your own writing.

Example demo video

To give a sense of what we’re expecting, here is an example demo video for a hypothetical assignment:

Grading policy#

Your grade for an open-ended assignment will be calculated as:

  • 20% passes all formatting checks on Gradescope

  • 80% manual grading that your submission meets all stated high-level requirements

  • Bonus up to 10% for “above and beyond” effort (awarded subjectively)