Many problems arising in mathematics cannot be solved exactly. In such cases, one approach is to use numerical methods implemented on a computer to find approximate but nevertheless usefully accurate solutions. This module introduces the basic techniques of such numerical methods, involving one or more computer packages, and uses these to illustrate and explore mathematics graphically and numerically, perform numerical routines, and run simulations involving random numbers. At the same time, it the basic ideas of computer programming are introduced such as writing simple programmes, the process of debugging code and the sources and effects of errors in the use of floating point numbers.

Learning Outcomes

By the end of the module students should be able to:

describe and analyze different types of errors and discuss coherently the errors in numerical calculations performed;

apply and discuss various numerical methods to find zeroes of functions, approximate functions using interpolation techniques, different ways to calculate integrals, to solving initial value problems for ordinary differential equations

discuss simple simulations and generate random numbers

demonstrate knowledge and understanding of design, testing and debugging strategies in the context of scientific programming

demonstrate knowledge and understanding of essential syntax elements of the relevant programming language and of basic programming structures

use such knowledge and understanding to design, implement and evaluate computer code for well specified problems

deploy appropriate mechanisms for improving data entry and data output

demonstrate knowledge and understanding of number representations and the various sources of errors affecting computational results

use such knowledge and understanding in the analysis and evaluation of numerical results