UW CSE 501 Programming Assignment