21M.383 | Spring 2023 | Undergraduate, Graduate

Computational Music Theory and Analysis

How Problem Sets Will Work

Most PSets will involve thinking and programming by yourself (or collaborating with others if declared). Some will be more written or less technical. 

For technical PSets, there will be a Jupyter notebook with the extension .ipynb from back when Jupyter was called IPythonNotebook for you to download.

Problem sets may involve outside readings that will help you understand the problems.

Here’s a little video on how individual parts of the assignment work:

Video 3c: How to Approach the Problem Sets 

(Errata: I meant D## == F-)

Note again two things already said above:

  1. Unlike some computer science class assignments, you will not be given many, if any, sample test cases to use to see if your functions work. Part of the learning in this class is thinking through what corner cases you will need to handle to succeed. Any curriculum that does not instill this into you is not preparing you to write user-facing code. Any group you work with will always appreciate very cool test cases.
  2. Documenting code and using good variable names are part of the assignment. You’ll find that in the first few PSets, there’s not much to do there, but over time, as you need to write more and more complex code to solve the problems (with multiple methods, etc.) you will have much more choice about how to implement what you do. Make sure it is legible.

Course Info

As Taught In
Spring 2023
Learning Resource Types
Lecture Notes
Lecture Videos
Other Video
Multiple Assignment Types
Exams
Editable Files