Discrete Structures

Understand the foundations to the study of computational structures

The course is essentially about mathematical structures that are foundational to the study of computational structures. We introduce elements of logic and reasoning, a sense of object and meta language, collection theory, graph theory and basic algebraic structures on which computational modelling is based. Functional programming with algebraic data types and equational reasoning are the modelling form for constructing executable specifications around these structures. Elements of proving programs, recursion, induction etc. are part of the form of course delivery.