The formal study of the mathematical foundations of algorithms. This course provides students with an algorithm-based introduction to discrete mathematical structures and their application to computer science. Topics include sets, relations, graphs, proof techniques, induction, recursive definitions, and recurrence relations. Applications include the correctness and complexity of algorithms. This course is equivalent to MATH 275. Students may receive credit for either CS 275 or MATH 275, not both. Prerequisites: CS 234 - Algorithms and Problem-Solving I and MATH 120 - Precalculus, or instructor’s permission.