Learning Outcomes:
On successful completion of this module, the student is expected to be able to understand the definitions, theorems and examples covered in the module, and to solve problems concerning these notions. This includes, but is not limited to, stating and proving theorems, constructing their own examples and solving enumeration problems related to the discrete structures encountered in the module.