CS130A Programming Assignment 1