Teaching

Python for audio programming

We’ve started teaching the fourth-year audio programming class in python. Labs are here:

Python programming course

Why write a whole new introduction to python? Well, I wanted to focus on exactly the stuff we needed for the class. Also, these poor kids haven’t been taught how to program before, so I wanted to introduce the building blocks of programming rather than just giving a quick overview of python for programmers. But I didn’t want to throw them at Zed Shaw’s "Learn python the hard way", since that would cover python in more depth than they need.

C programming

I am an outspoken opponent of teaching C to new programmers – C is a horrible language. It requires compiling, it has no array bounds checking, it uses non-obvious symbols like |, etc. Using C to teach the concepts of conditionals, loops, functions, and arrays is absolutely stupid. There are far better languages for this task; my favorite is Python.

However, it seems to be the language of choice for departments of electrical engineering. I’ve written these labs and used them for the past two years, and they seem to work decently-well. They’re not perfect, but I’m uploading them here on the off chance that anybody else finds them useful:

C programming course

Teachers: you are quite welcome to use any elements of these labs for your own courses. Grab an assignment, use an explanation... whatever you want. They’re published under the Creative Commons Attribution-ShareAlike 2.5 license.

Note: Over the next month, I hope to clean up a few loose ends. If you’re trying out these labs and notice a problem, please let me know so I can fix it! The best way to generate good course material is to test it over and over again.