Hans Petter Langtangen (2016). A Primer on Scientific Programming with Python. Springer Science+Business Media.