Aims
This course shows how mathematics can be used to structure and reason about real systems.
It shows how the Z notation can be used to describe complex pieces of software in a clear
and comprehensible fashion. It shows how to check a set of requirements for logical
consistency, and how to verify that operations are properly defined.
Requirements
The course assumes a working knowledge of discrete mathematics. Mathematics for Software
Engineering is an ideal preparation.
At the end of the course, students will be able to construct mathematical specifications
of real systems. They will be able to check a set of requirements for consistency, and
reason about the robustness of a design.