udacity cs373 - homework 1