University of Oxford Logo University of OxfordSoftware Engineering - Home
On Facebook
Facebook
Follow us on twitter
Twitter
Linked in
Linked in
Google plus
Google plus
Digg
Digg
Pinterest
Pinterest
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.

Frequency

This course normally runs twice a year.

Course dates

28th April 2025Oxford University Department of Computer Science - Held in the Department 0 places remaining.
29th September 2025Oxford University Department of Computer Science - Held in the Department13 places remaining.
13th April 2026Oxford University Department of Computer Science - Held in the Department15 places remaining.

Objectives

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.

Contents

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

Requirements

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.