CS356 Cal Poly Pomona Assignment 1