Learning Outcomes:
Upon successful completion of this module, students will have a good understanding of important mathematical concepts such as permutations, urn models, and advanced counting principles. Applications of these ideas that are prevalent in mathematical computer science include ordered and unordered selections of objects out of a set. Students will have a concrete understanding of important counting principles and standard techniques including the use of generating functions and cycle indices of symmetry groups.