This class was taught once before at Columbia. Class notes have been collected into a CS department technical report that you might have fun reading.
A more advanced version of this course (aimed only at PhD students) was given at Stanford University by Don Knuth. Your instructor was a TA for one of those courses. The course documents can be found here.