Introduction to Sets and Logic course is an introduction to discrete mathematics which is fundamental to Computer Science in much the same way that calculus is fundamental to the physical sciences. At the machine level, computers as we know them now are essentially discrete structures, where information and instructions are encoded in strings of binary digits. Writing any computer program requires precise and logical thinking; logic is essential for verifying program correctness. Recursion is a powerful concept in computing as well as in mathematics: it is used for implementing algorithms, specifying syntax, and working with data structures. The topics covered are widely used throughout mathematics; many will crop up again in other mathematics courses. The purpose of this course is to give these topics a thorough treatment early in a student’s mathematical studies, with the intention of enhancing his or her understanding of future courses, irrespective of whether those courses have MATH 1190 as a prerequisite. The emphasis will be on understanding the basic ideas and developing an appreciation for mathematical reasoning, proofs, and problem-solving.