CS 412 - Assignment 3