ECSE321 - Assignment 2