CS321 - Assignment 3