Permutations and combinations, Binomial Theorem, Principle of Inclusion-Exclusion, recurrence relations, generating functions, orthogonal Latin squares, balanced incomplete block designs, Steiner triple systems, perfect difference sets, Boolean algebra and Finite State Machines.Prerequisites: MATH 326, or MATH 327, or any 300-level MATH class when combined with MATH 111 or MATH 228 (MATH 322 recommended).