(Cross-listed as MAT 220) An introduction to proof techniques, with a focus on topics relevant to computer science. Topics include: fundamental proof techniques, boolean logic, sequences and summations, set theory, algorithm analysis, recursion, mathematical induction, recurrence relations, an introduction to number theory, combinatorics, discrete probability, and graph theory. The class will be adequate preparation for students choosing to continue on the pure math track (Real Analysis, Abstract Algebra, etc.) or the theoretical computer science track (Analysis of Algorithms, Theory of Computation, etc.).
Satisfies the Mathematical and Quantitative Thought requirement.
Counts towards the Mathematics major and minor.
Counts towards the Computer Science major and minor.
MAT 140, MAT 150, or MAT 160, and the ability to program in a high-level language such as Python, C++, or Java at the level expected in CSC 121 or an equivalent course.