Module Identifier MA28010
Module Title MATHEMATICS FOR SOFTWARE ENGINEERING
Co-ordinator Dr T McDonough
Semester Semester 1
Other staff Dr John A Lane, Mr Alan Jones, Dr Edel M Sherratt
Mutually Exclusive Only available as part of a degree course in the Computer Science Department
Course delivery Lecture   22 x 1 hour lectures
Other   Workshop. 10 x 1 hour workshops
Assessment
Assessment TypeAssessment Length/DetailsProportion
Semester Exam2 Hours  100%
Supplementary Assessment2 Hours  100%

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, vector algebra and matrix algebra and necessary to implement elementary algorithms used in computer graphics and robotics;
• perform computations in vector algebra and matrix algebra;
• 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.

Brief 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.

Content

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. 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. Basic ideas of significance and goodness of fit.
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.