CIS 485 Lecture Notes