Lecture notes taken down by David H. Stam