**Description** | A concrete approach to the mathematics and logic needed to understand algorithmic problem solving. Introduction to the discrete math needed in computer science. Includes a proof-and-algorithm-oriented, but elementary, introduction to logic, foundational concepts (sets, relations, maps, integers, divisibility and congruence), as well as sequences, induction, recursion, counting, and discrete probability. Prerequisite: Eligible to take a 100 level math course |