Logic, proof, counting and graphs: the math behind computing.
Propositions and connectives, implications and their contrapositives, logical equivalence and De Morgan's laws, quantifiers, and Boolean algebra with logic gates.
Direct proof and proof by contrapositive, proof by contradiction, mathematical induction, and strong induction.
Sets and their operations, one-to-one and onto functions, equivalence relations, and partial orders with Hasse diagrams.
The sum and product rules, permutations and combinations, the binomial theorem, counting multisets, inclusion–exclusion and the pigeonhole principle.
Arithmetic and geometric sequences and their sums, recurrence relations, solving linear recurrences with characteristic roots, and generating functions.
Divisibility and primes, the Euclidean algorithm, modular arithmetic, modular inverses and the Chinese remainder theorem, and RSA encryption.
Binary and hexadecimal, two's complement, bitwise operations and masks, fixed and floating point, error-detecting and error-correcting codes, state machines, and turning signals into bits: the discrete math that firmware and hardware run on.
Graphs and degrees, paths and shortest paths, Euler and Hamilton paths, trees and spanning trees, planar graphs and coloring, and bipartite matching.
Growth rates and big-O notation, and analyzing searching and sorting algorithms with recurrences.
The product rule
The product rule and the pigeonhole principle
Modular exponentiation and inverses
Growth rates and big-O