ICS 340 - Programming Assignment 1