CS300 Assignment