CMPSC 130A - Programming Assignment 1