cs160 programming assignments