\tableofcontents
Many of the lecture notes and high-level topics here have been inspired from lecture notes developed for CS 2510 and CS 3500. We duly cite the co-creators of those notes: Ben Lerner, Jesse Tov, Viera Proulx, Amit Shesh, Clark Freifeld.