CSCE 330 Lecture Notes