CS 3800 Homework 3