BSc Computer Science and Mathematics

Year of entry: 2024

Course unit details:
Mathematical Systems and Computation

Course unit fact file
Unit code COMP36212
Credit rating 10
Unit level Level 3
Teaching period(s) Semester 2
Available as a free choice unit? Yes

Overview

Mathematical systems can be used to describe many aspects of the world around us, from modelling physics and chemistry, to predicting financial markets and enabling machine learning and AI. By modelling systems mathematically it is possible to analyse them, and make predictions about their performance and how it can be optimised.
 
Solution of these mathematical systems often relies on computational hardware and the application of algorithms which solve an approximate form of the problem. It is therefore important to understand the limitations imposed by the computational implementation of a given problem, and the effect this can have on a given solution.  
 
The course explores these concepts from three perspectives: by introducing the notion of finite precision computation and error propagation within a computational process; through exploring techniques for the numerical solution of differential equations; and through the use of optimisation algorithms to maximise the performance of a solution to a given problem. These techniques are then applied to real-world problems, including physical and engineering systems, and machine learning operations within neural networks.
 
The course targets students seeking to gain experience of how numerical computation is employed in industry and research, and who want a deeper understanding of how numerical algorithms and hardware combine when solving problems. It will help develop the skills necessary to work at the hardware-software interface, and in harnessing the power of hardware accelerators and modern computer architectures to develop fast, accurate and precise analysis tools. 
 

Pre/co-requisites

Unit title Unit code Requirement type Description
Mathematical Techniques for Computer Science COMP11120 Pre-Requisite Compulsory
COMP36212 - Enrolment restricted to students who have taken COMP11120 or are registered on the CS and Maths programme. Although programming experience is not essential, some knowledge of development is desirable, particularly in C/C++

Aims

This unit investigates how real-world problems can be described via mathematical systems and explores the impact of using numerical computation to analyse their performance. 

Learning outcomes

ILO 1-Describe issues associated with finite precision computing (including floating point, integer, and mixed-precision arithmetic). 

ILO 2- Explain techniques enabling improved accuracy in finite precision computing (e.g. stochastic rounding, multi-word arithmetic, extended precision).

ILO3-Describe and apply numerical algorithms for the solution of mathematical systems, including those described by ordinary differential equations, and linear algebra.

ILO 4-Describe and apply a range of optimisation and bio-inspired algorithms to find solutions to computationally hard problems (e.g. direct search, stochastic, and evolutionary algorithms).

ILO 5-Apply numerical techniques and knowledge of computational hardware to develop accurate and precise numerical solvers for a range of problems across multiple disciplines

Teaching and learning methods

  • Lectures (24 in total, 2 per week);
  • Independent study through online videos and worked examples;
  • Coursework exercises implementing theories and techniques from the lectures on real-world problems

Employability skills

Analytical skills
Innovation/creativity
Problem solving
Research

Assessment methods

Method Weight
Written assignment (inc essay) 100%

Feedback methods

We will maintain a continuous feedback with students through active participation in the classroom and via online formative assessments.  There will also be individual feedback given on all coursework reports.

Recommended reading

COMP36212 reading list can be found on the Department of Computer Science website for current students.

 

Title: Handbook of Floating-Point Arithmetic

Author: Muller, J.-M

ISBN: 9783319765259

Publisher: Springer

Year: 2018

 

Title: Introduction to numerical analysis

Author: Suli, Endre and David Mayers

ISBN: 9780521007948

Publisher: Cambridge University Press

Year: 2003

 

Title: Practical Methods of Optimization

Author: R. Fletcher

ISBN: 9780471915478

Publisher: Wiley

Year: 2000

 

Scheduled activity hours Lectures 12

Independent study hours
Independent study 88

Teaching staff

Staff member Role
Oliver Rhodes Unit coordinator
Luca Peres Unit coordinator

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.

Return to course details