A Primer on Scientific Programming with PythonThe book serves as a first introduction to computer programming of scientific applications, using the highlevel Python language. The exposition is example and problemoriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches "Matlabstyle" and procedural programming as well as objectoriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical onevariable 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 realworld problems using objects and functions and embracing the objectoriented paradigm. ... Summing Up: Highly recommended. Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.” This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science.

What people are saying  Write a review
Contents
1  
2 Loops and lists  53 
3 Functions and branching  93 
4 User input and error handling  147 
5 Array computing and curve plotting  221 
6 Dictionaries and Strings  301 
7 Introduction to classes  372 
8 Random numbers and simple cames  447 
B Introduction to discrete calculus  639 
C Introduction to differential equations  669 
D A complete differential equation project  685 
E Programming of differential equations  711 
F Debugging  791 
G Migrating Python to compiled code  811 
H Technical topics  825 
859  