Seite - X - in Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Band Second Edition
Bild der Seite - X -
Text der Seite - X -
x Preface
how to think like a programmer, rather than focusing on technical language
details. Thus, the book should put the reader in a good position for learning other
programminglanguages later, includingtheclassic ones:Fortran,C, andC++.
HowThisBookIsDifferent Therearenumeroustextsoncomputerprogramming
and numerical methods, so how does the present one differ from the existing
literature?Comparedtostandardbooksonnumericalmethods,ourbookhasamuch
strongeremphasison thecraftofprogrammingandonverification.Wewant togive
studentsathoroughunderstandingofhowtothinkaboutprogrammingasaproblem-
solvingmethodandhowtoprovideconvincingevidenceforprogramcorrectness.
Even though there are lots of books on numerical methods where many algo-
rithms have a corresponding computer implementation (see, e.g., [1,3–6,10,15–
17,20,23,25,27–31]—the latter two apply Python), it is often assumed that the
reader “can program” beforehand.The present book teaches the craft of structured
programmingalongwith thefundamental ideasofnumericalmethods. In thisbook,
unit testing and corresponding test functions are introduced early on. We also put
much emphasis on coding algorithms as functions, as opposed to “flat programs,”
which often dominate in the literature and among practitioners. Functions are
reusable because they utilize the general formulation of a mathematical algorithm
such that it becomesapplicable toa largeclassofproblems.
There are also numerous books on computer programming, but not many that
really emphasize how to think about programming in the context of numerical
methodsand scientific applications. One such book is [11], which gives a compre-
hensive introduction to Python programmingand the thinking about programming
asa computerscientist.
Sometimes, however, one needs a text like the present one. It does not go so
deep into language-specific details, but rather targets the shortest path to reliable
mathematical problem-solving through programming.With this attitude in mind, a
lotof topicswere leftoutof thepresentbook,simplybecause theywerenotstrictly
needed in the mathematical problem-solving process. Examples of such topics are
object-orientedprogrammingand Pythondictionaries (ofwhich the latter omission
is possibly subject to more debate). If you find the present book too shallow, [11]
might be the right choice for you. That source should also work nicely as a more
in-depthsuccessorof thepresent text.
Whenevertheneedforastructuredintroductiontoprogrammingarisesinscience
andengineeringcourses, the presentbookmaybe youroption,either for self-study
or for use in organized teaching. The thinking, habits, and practice covered herein
will put readers in a firm position for utilizing and understanding the power of
computersforproblem-solvingin scienceandengineering.
Changes to theFirstEdition
1. All codeisnowinPythonversion3.6(thepreviouseditionwasbasedonPython
version2.7).
2. In the first edition, the introduction to programmingwasbasically covered in 50
pagesby Chap.1 (The First Few Steps) and Chap.2 (Basic Constructions). This
is enough to get going, but manyreaders soon want more details. In this second
edition, these two chapters have therefore been extended and split up into five
Programming for Computations – Python
A Gentle Introduction to Numerical Simulations with Python 3.6, Band Second Edition
- Titel
- Programming for Computations – Python
- Untertitel
- A Gentle Introduction to Numerical Simulations with Python 3.6
- Band
- Second Edition
- Autoren
- Svein Linge
- Hans Petter Langtangen
- Verlag
- Springer Open
- Datum
- 2020
- Sprache
- englisch
- Lizenz
- CC BY 4.0
- ISBN
- 978-3-319-32428-9
- Abmessungen
- 17.8 x 25.4 cm
- Seiten
- 356
- Schlagwörter
- Programmiersprache, Informatik, programming language, functional, imperative, object-oriented, reflective
- Kategorie
- Informatik