CMPUT 398 CMPUT 642