CSCI 240 Lecture Notes