CMSC 628 Assignment 3