Theaimofthisbookistoteachcomputerprogrammingusingexamples from mathematics and the natural sciences. We have chosen to use the Python programming language because it combines remarkable power with very clean, simple, and compact syntax. Python is easy to learn and very well suited for an introduction to computer programming. Python is also quite similar to Matlab and a good language for doing mathematical computing. It is easy to combine Python with compiled languages, like Fortran, C, and C++, which are widely used languages forscienti?ccomputations.AseamlessintegrationofPythonwithJava is o?ered by a special version of Python called Jython. The examples in this book integrate programming with appli- tions to mathematics, physics, biology, and ?nance. The reader is - pected to have knowledge of basic one-variable calculus as taught in mathematics-intensive programs in high schools. It is certainly an - vantage to take a university calculus course in parallel, preferably c- taining both classical and numerical aspects of calculus. Although not strictly required, a background in high school physics makes many of the examples more meaningful.