TeX Macro Programming Course Lecture Notes