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¶
A Primer on Scientific Programming with Python, by Hans Petter Langtangen
Algorithms, by Robert Sedgewick and Kevin Wayne
Bits and bugs, by Thomas Huckle and Tobias Neckel
ACSE 2 - Modelling Dynamical Processes¶
An Introduction to Continuum Mechanics by J. N. Reddy
Principles of Continuum Mechanics by J. N. Reddy
Introduction to Continuum Mechanics by W.M. Lai, D. Rubin and E. Krempl
Introduction to Applied Linear Algebra by Stephen Boyd and Lieven Vandenberghe
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¶
Numerical Optimization by Jorge Nocedal & Stephen J. Wright
Iterative Methods for Linear and Nonlinear Equations by C. T. Kelley
Iterative Methods for Optimization by C. T. Kelley
ACSE 8 - Machine Learning¶
Pattern Recognition and Machine Learning by Christoper M. Bishop
Deep Learning by Iann Goodfellow, Yoshua Bengio and Aaron Courville