University of Surrey

Numerical Methods & Applied Programming - ENG2124


Source: https://catalogue.surrey.ac.uk/2022-3/module/ENG2124

Module Overview

Engineers frequently have to solve engineering problems which are mathematically intractable by approximate numerical methods, normally using software involving some degree of programming. The module introduces the use of mathematical methods to solve complex engineering problems with appropriate IT tools, including Matlab. An introduction to the general, open programming language Python is also given and then applied to the solution of engineering problems.

Module Aims

  • Knowledge and experience of selection, implementation and application of common numerical methods in order to solve standard engineering problems.
  • Knowledge and experience of using Matlab and Python programming as a tool to solve standard engineering problems.

Module Content

Numerical Methods:

  • Computer representation of numbers, rounding errors. Taylor series expansion and truncation errors.
  • Solution of systems of linear equations: Gauss elimination with inclusion of partial pivoting; LU-decomposition; Gauss-Seidel iteration.
  • Roots of nonlinear equations: interval searching, bisection method, simple iteration, Newton-Raphson method.
  • Fitting and Interpolation.
  • Numerical Differentiation and Integration: Trapezoidal rule and Simpson’s rule, errors and applications.
  • Solution of single ordinary differential equations by Euler, Heun and 4th order Runge-Kutta methods: derivation, errors, applications. Systems of ODEs and higher-order equations.

Applied Programming Skills

  • Consolidation of Matlab and developing of Python skills including those for data handling, manipulation and presentation, as they are essential to solve engineering problems.
  • Application of simple programming techniques to implement numerical methods using Matlab and Python

Learning Outcomes

RefAttributes Developed [1]
001Ability to use computer programming in support of solutions to engineering problemsCPTC3
002Ability to use a range of standard numerical methods to solve common engineering problemsKCC1

[1] Attributes Developed: C - Cognitive/analytical; K - Subject knowledge; T - Transferable skills; P - Professional/Practical skills

Assessment Pattern

  • Online Scheduled Summative Class Test: Programming Class Test [30%]
  • Examination Online: Online (Open Book) exam within 4hr Window (2 Hours) [70%]

Reading List

  • J. VanderPlas. A Whirlwind Tour of Python. 2016. (ISBN: 978-1491964644)
  • J. VanderPlas. Python Data Science Handbook: Essential Tools for Working with Data. 2016. (ISBN: 978-1491912058)
  • F. Nelli. Python Data Analytics. 2nd Edition. 2018. (ISBN: 978-1484239124)