Module Identifier | MA28010 | ||

Module Title | MATHEMATICS FOR SOFTWARE ENGINEERING | ||

Academic Year | 2000/2001 | ||

Co-ordinator | Dr J M Pearson | ||

Semester | Semester 2 (Taught over 2 semesters) | ||

Other staff | Mr D A Jones | ||

Mutually Exclusive | Only available as part of a degree course in the Computer Science Department | ||

Course delivery | Lecture | 22 x 1 hour lectures | |

Workshop | 10 x 1 hour workshops | ||

Assessment | Exam | 2 Hours (written examination) | 100% |

Resit assessment | 2 Hours (written examination) | 100% |

**General description**

Like other branches of science and engineering, Software engineering and Computer Science rely on mathematics for techniques to model the real world both in its physical, and in its more abstract, aspects. The mathematics taught in this module provides the basis for understanding how numbers are stored and manipulated, explains basic coordinate geometry, statistical techniques and the solution of recurrence relations. Practical applications of the material covered will be found in modules on graphics, robotics, programming languages and quantitative aspects of software engineering.

**Aims**

The aim of this module is to give students the mathematical skills needed to handle the quantitative aspects of software engineering.

**Learning outcomes**

On completion of this module, a student should be able to:

- explain the nature of floating point number representations and the problems that can arise in floating point computation;
- perform computations with numbers given in floating point form;
- explain the concepts of 2- and 3-dimensional coordinate geometry necessary to implement elementary algorithms used in computer graphics and robotics;
- perform computations in 2- and 3-dimensional coordinate geometry;
- describe the concept of variability and its manifestation in statistical diagrams;
- describe the concepts involved in the statistical modelling of randomness;
- solve recurrence relations of first and second order and deduce information about the time complexity of an algorithm.

**Syllabus**

The presentation of the mathematical ideas will be directed to their use in computing.

1. Numbers; rational and irrational. Computer representation of numbers and floating point operations.

2. Coordinate geometry; lines, planes, conics; translation, rotation, shearing, scaling.

3. Summarising data. Histograms. Five number summaries. Box and whisker plots. Shapes of distributions. Graphical test for symmetry (normality). Binomial experiments and large sample behaviour. The Poisson distribution as a model for randomness. Quick and graphical tests for the Poisson distribution. Waiting times and the exponential distribution.

4. Solution of first and second order linear recurrence relations; some examples of non-linear equations. Application to the assessment of time complexity of algorithms.

**Reading Lists**

**Books**
**** Supplementary Text**

J H Conway & J Guy.
*The Book of Numbers*.

J H Mathews.
*Numerical Methods for Mathematics, Science, Engineering*.

H Thomas.
*Mathematical Models*.

P J McKerrow.
*Introduction to Robotics*.

R L Finney & G B Thomas. (1994)
*Calculus*. 2nd edition. Addison-Wesley

A V Aho, J E Hopcroft & J D Ullman.
*Data Structures and Algorithms*.

J T Sandefur.
*Discrete Dynamical Systems, Theory and Applications*.