Atonal music theory / An introduction to atonal music theory through abstract algebra.
Analyzing post-tonal or atonal music is a far-cry from classical musical analysis of functional harmony. If you've studied classical theory, the familiar jargon (tonic chords, dominant chords, tonicization, modulation, etc.) is done away with. In its stead we are left with numbers, sets, and transformations; entities that are deeply rooted in mathematics. So before discussing anything about music, it's more than appropriate to familiarize ourselves with this math that will be in the background of all post-tonal analysis.
Python / A primer for Python that I wrote.
I wrote this because many classmates and friends had little to no experience with Python before the MATH-340 class. Programming in Python (and in general) will make much more sense if you pay special attention to tidiness, syntax and semantics (what does things mean). In many Java and C++ classes I'd see poorly formatted code, making projects basically impossible for me to read and understand let alone the person who wrote it. But in Python we must be tidy, the syntax requires it. Python is a rare language where whitespace actually matters (every control block must be consistently indented). And lastly, because Python is a language which does not ask much of us as programmers (i.e. dynamically typed) we actually should be more careful in understanding what we're writing and how things change.