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. … Summing Up: Highly recommended.

F. H. Wild III, Choice, Vol. 47 (8), April 2010

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.” John D. Cook, The Mathematical Association of America, September 2011

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.Alex Small, IEEE, CiSE Vol. 14 (2), March/April 2012

“This fourth edition is a wonderful, inclusive textbook that covers pretty much everything one needs to know to go from zero to fairly sophisticated scientific programming in Python…” Joan Horvath, Computing Reviews, March 2015

Hans Petter Langtangen is a professor of computer science at the University of Oslo. He has formerly been a professor of mechanics and is now the director of a Norwegian Center of Excellence: "Center for Biomedical Computing", at Simula Research Laboratory. Langtangen has published over 100 scientific publications and written several books, including papers and the bestseller TCSE 6 "A Primer on Scientific Programming with Python", now in its 5th edition. He has also developed open source and commercial software systems for computational sciences.

“This update to previous editions … continues to serve as an excellent introduction to scientific programming and the Python programming language. … Each chapter has a significant collection of exercises, which reinforce the concepts contained in the chapter. … this is an excellent book for any individual starting to learn scientific programming, and it will serve as a great reference book for those working in the field. Summing Up: Recommended. Lower- and upper-division undergraduates.” (D. B. Mason, Choice, Vol. 54 (9), May, 2017)

“The authors have made a very concerted effort to describe Python in a very easy, flowing way with many useful case studies. … I have no hesitation in recommending this book for senior high school students or freshmen in college. One must certainly have access to the Python development environment, and this book will be a worthy companion in the journey to mastering programming concepts.” (Naga Narayanaswamy, Computing Reviews, May, 2017)

“All the concepts are illustrated using relatively simple examples that are mostly mathematical. … This book gives a thorough course to learn Python, and yet it is all brought at the level of a first year at the university. The fact that each concept is introduced with an example is essential. … it is a description of how the language is used, which is a very natural approach.” (European Mathematical Society, euro-math-soc.eu, August, 2016)