Discrete Math for CS
by Mizel Cluett
A complete 30-class course bridging discrete mathematics, formal proof, and Java programming. Every concept is presented with rigorous proofs and runnable Java code.
Course Modules
Integers, Definitions & Proofs
Parity, divisibility, primes, GCD, direct proof and counterexample.
Remainders & Modular Arithmetic
Quotient-remainder theorem, congruences, CRT, prime factorization.
Logic, Quantifiers & Programs
Propositional logic, implication, quantifiers, Design by Contract.
Sets & Data Collections
Set operations, power sets, partitions, De Morgan's laws for sets.
Functions, Relations & Mappings
Domains, composition, injection, surjection, equivalence relations.
Induction & Recursion
Weak, strong, and structural induction. Recursive definitions.
Counting & Finite Reasoning
Counting principles, binomial coefficients, pigeonhole, probability.
Algorithms & Correctness
Specifications, loop invariants, Hoare logic, termination proofs.
Trees, Complexity & Verification
BSTs, heaps, Big-O, structural induction on trees, formal verification.