Acknowledgment
The materials for this course are based on materials created by other instructors for previous versions of the course. The instructor is particularly grateful to Professor Grant Braught and Professor Farhan Siddiqui for their willingness to share materials. Many of these materials are reproduced verbatim.