CS216 Programming Assignment 1