Udacity CS253 homework.