Hasker's CSC 2210 Notes