EECS  3101 : Lecture Notes