
This course introduces the foundational concepts of discrete mathematics that are essential for computer science, with a focus on logic, formal reasoning, and set theory. Discrete mathematics studies structures that are non-continuous and symbolic, making it the natural mathematical language of computation. You will begin by learning propositional and predicate logic, developing the ability to translate natural-language statements into precise formal expressions. The course covers logical operators, equivalence, quantifiers, and rules of inference, providing the tools needed to construct and evaluate rigorous arguments and proofs. The course then introduces set theory and functions, which form the backbone of data modeling and abstraction in computer science. Topics include set operations, relations, functions, and cardinality, along with their close connections to logical reasoning. Emphasizing understanding and problem-solving over memorization, this course builds the mathematical maturity required for algorithm design, program correctness, and advanced topics in the specialization
Kenneth Wai-Ting Leung
Associate Professor of Engineering Education