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: Either MATH 326 or one of MATH 111 or 228 and a 300-level MATH course (MATH 322 recommended).