CMPT 221 related materials