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 Professors Grant Braught and Lev Fruchter for their willingness to share materials. Many of these materials are reproduced verbatim.