COSI 236B - Programming Assignment 3