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.).
MAT 113 or equivalent, 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.