purdue cs505 hw