University of Oxford Logo University of OxfordSoftware Engineering - Home
On Facebook
Follow us on twitter
Linked in
Linked in
Google plus
Google plus
Stumble Upon
Stumble Upon

Software Engineering Mathematics

An essential advantage of a mathematical specification is the ability to reason about the objects it contains, and thus about the system it describes. This course is an introduction to specification using mathematics. It shows how we may reason about the objects in a specification with varying degrees of formality.

Course dates

6th November 2017Oxford University Department of Computer Science01 place remaining.
21st May 2018Oxford University Department of Computer Science05 places remaining.
5th November 2018Oxford University Department of Computer Science18 places remaining.
20th May 2019Oxford University Department of Computer Science18 places remaining.


At the end of the course, students will understand the mathematics required for software engineering. They will be able to reason about the mathematical objects that appear in a specification. They will also gain an appreciation for varying degrees of rigour and formality, choosing an appropriate level of detail or elaboration.


Propositional logic:
propositions; logical connectives; deductive reasoning; hypothetical reasoning
Predicate logic:
quantification; substitution; scope of variables; generalisation; specialisation
definite description; the one-point rule; uniqueness and quantity
membership; extension; comprehension; power sets; Cartesian products; types
basic types; declarations; abbreviations; axioms; generics; consistency
domains and ranges; projections; inverses; compositions; iteration; closure
partial functions; injections; surjections; lambda notation; overriding; enumerations
order and multiplicity; sequence operators; sequences as functions; structural induction; bags
Free types:
constants and constructor functions; embedding; closure; induction principles


Although no previous experience is required, a positive attitude towards formal, mathematical notation would be an advantage. If you have any doubts as to your readiness, please feel free to contact the Programme Director before registering for the course.