CS 538 Lecture Notes