CS4341 homework