Principles of Programming Languages course assignments.