Skip to main content

Unit information: Scientific Computing in 2019/20

Please note: Due to alternative arrangements for teaching and assessment in place from 18 March 2020 to mitigate against the restrictions in place due to COVID-19, information shown for 2019/20 may not always be accurate.

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Scientific Computing
Unit code EMAT30008
Credit points 10
Level of study H/6
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Benjamin
Open unit status Not open

EMAT20200 Engineering Mathematics 2, and EMAT20920 Numerical Methods with MATLAB, or equivalent



School/department Department of Engineering Mathematics
Faculty Faculty of Engineering


This unit will bring together previous experience of programming, numerical techniques and mathematical methods, with the aim of enabling students to put scientific programming into practice in a project/research setting. The approach is practical rather than theoretical and will cover the techniques and skills needed to do real scientific programming for a range of commonly occurring problem types.

The numerical techniques to be covered will include appropriate choice of numerical method for different classes of ODEs (e.g., stiff problems, and boundary value problems), together with the most widely-used methods to solve PDEs (e.g., finite difference, finite element, and spectral methods). It will be grounded throughout in the fundamentals of software engineering, enabling students to develop efficient programming techniques (e.g., version control, profiling and optimising code), as well as proper use of 3rd party libraries/applications, and hence successfully manage large-scale complex projects.

Intended learning outcomes

Upon successful completion of the course, students will be able to

1) Implement advanced numerical methods for the solution of real-world problems
2) Select, assess, modify and adapt numerical algorithms, guided by an awareness of their mathematical foundations
3) Apply appropriate computational techniques to solve ODE problems
4) Apply appropriate computational techniques to solve PDE problems
5) Create production-standard code, based on sound software engineering principles.

Teaching details

Lectures & hands-on laboratory sessions

3 hours per week (lectures + labs)

Assessment Details

100% coursework.

Two assessments, equally-weighted, covering numerical methods in (a) ODEs and (b) PDEs.

Reading and References

Numerical Recipes: The Art of Scientific Computing by W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Cambridge University Press, 2007.

Introduction to Numerical Methods in Differential Equations by M. H. Holmes, Springer New York, 2007.