UW Programming Languages course homework