CPSC304 Assignment