Discrete mathematics focuses on studying finite objects. These are mathematical structures that underlie areas in computer science and form the basis of computational thinking.
The course introduces students to boolean algebras, the structures that underlie logic, elementary combinatorics and discrete structures such as graphs and trees. Enumeration techniques are central to all these.
The structure of boolean algebras arising from propositional logic and completeness in boolean functions. Students learn a variety of counting techniques: permutations and combinations, the binomial theorem and progressions, derangements, the pigeonhole principle, inclusion exclusion principle, induction and recursion, recurrences and generating functions. Students also get to study structures such as graphs and trees, spanning trees, colourings and matchings. The probabilistic method is introduced on graphs.