Reading list

This page collects written material which may be useful before the course starts. Some of the online links below require you to authenticate using your Imperial institutional log in.

ACSE 1 - Modern Programming Methods

ACSE 2 - Modelling Dynamical Processes

ACSE 3 - Numerical Methods

  • Practical Numerical Methods with Python by Lorena Barba, Ian Hawke and Bernard Knappen

  • Numerical Methods with Python 3 by Jaan Kiusalaas

  • A First Course in the Numerical Analysis of Differential Equations by Arieh Iserles

  • Numerical Linear Algebra by Lloyd N. Trefethen & David Bau III

  • Finite Volume Methods for Hyperbolic Problems by Randall LeVeque

  • Finite Elements & Fast Iterative Solvers: with Applications in Incompressible Fluid Dynamics by Howard Elman, David Silvester & Andy Wathen

  • Computational Methods for Fluid Dynamics by Joel Ferziger and Milovan Peric

  • Fundamentals of Engineering Numerical Analysis by Parviz Moin

ACSE 5 - Advanced Programming

  • C++ Primer by Stanley Lippman, Josee Laioie and Barbara E. Moo

  • A Tour of C++ by Bjarne Stroustrup

  • Programming - Principles and Practise Using C++ by Bjarne Stroustrup

ACSE 7 - Inversion and Optimization

ACSE 8 - Machine Learning

  • Pattern Recognition and Machine Learning by Christoper M. Bishop

  • Deep Learning by Iann Goodfellow, Yoshua Bengio and Aaron Courville