cpsc323 hw4