CS111 Assignment 1