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
Ref | Attributes Developed [1] | ||
---|---|---|---|
001 | Ability to use computer programming in support of solutions to engineering problems | CPT | C3 |
002 | Ability to use a range of standard numerical methods to solve common engineering problems | KC | C1 |
[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)