Basic counting rules (product rule, sum rule, permutations, combinations, Pascal's triangle, occupancy problems, distribution problems, Stirling numbers).

Generating functions (definition, operations on generating functions, applications to counting, binomial theorem, exponential generating functions).

Recurrences (Fibonacci numbers, derangements, the method of generating functions).

Principle of inclusion and exclusion (the principle and applications, occupancy problems with distinguishable balls and cells, derangements, the number of objects having exactly m properties).

Introductory graph theory (quick overview of fundamental concepts, connectedness, graph coloring, trees; Cayley's theorem on the number of trees).

Pigeonhole principle and intoduction to Ramsey theory (Ramsey's theorem, bounds on Ramsey numbers).