Digg
Pinterest
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

 9th May 2023 Oxford University Department of Computer Science - held onsite - Four Full Day Course due to the bank holiday 04 places remaining. 8th January 2024 Oxford University Department of Computer Science - Held in the Department 17 places remaining. 15th April 2024 Oxford University Department of Computer Science - Held in the Department 16 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.