EPFL Lecture Notes