5th Edition. — Springer, 2016. — 726 p. — (Texts in Computational Science and Engineering 6). — ISBN: 978-3-662-49886-6.
The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches "MatLAB-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science.
From the reviews: Langtangen … does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm.
Computing with Formulas
Loops and Lists
Functions and Branching
User Input and Error Handling
Array Computing and Curve Plotting
Dictionaries and Strings
Introduction to Classes
Random Numbers and Simple Games
Object-Oriented Programming
AppendixesSequences and Difference Equations
Introduction to Discrete Calculus
Introduction to differential equations
A Complete Differential Equation Project
Programming of Differential Equations
Debugging.
Migrating Python to Compiled Code
Technical Topics