Web-Books
in the Austria-Forum
Austria-Forum
Web-Books
Informatik
Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition
Page - VIII -
  • User
  • Version
    • full version
    • text only version
  • Language
    • Deutsch - German
    • English

Page - VIII - in Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition

Image of the Page - VIII -

Image of the Page - VIII - in Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition

Text of the Page - VIII -

viii Preface 3. It is easy to use excellent ready-made software the wrong way. The insight in programming and the mathematics behind is fundamental for understanding complexsoftware, avoidingpitfalls, andbecominga safeuser. 4. Bugs (errors in computer code) are present in most larger computer programs (also in the ones from the shop!). What do you do when your ready-made software gives unexpected results? Is it a bug, is it the wrong use, or is it the mathematically correct result? Experience with programming of mathematics gives you a good background for answering these questions. The one who can program can also make tailored code for a simplified problem setting and use that toverify thecomputationsdonewithoff-the-shelf software. 5. Lotsofskilledpeoplearoundtheworldsolvecomputationalproblemsbywriting their own code and offering those for free on the Internet. To take advantage of this truly great source of software in a reliable way, one must normally be able tounderstandandpossiblymodifycomputercodeofferedbyothers. 6. It is recognizedworldwide that students struggle with mathematicsand physics. Too many find such subjects difficult and boring. With programming, we can execute the good old subjects in a brand new way! According to the authors’ own experience, students find it much more motivating and enlightening when programming is made an integrated part of mathematics and physical science courses. Inparticular, the problembeingsolvedcan be muchmore realistic than when the mathematics is restricted towhatyoucandowith penandpaper. 7. Finally,we launchourmost importantargumentfor learningcomputerprogram- ming: thealgorithmic thinking that comeswith theprocessofwritingaprogram for a computational problem enforces a thorough understanding of both the problem and the solution method. We can simply quote the famous Norwegian computerscientist KristenNygaard:“Programmingisunderstanding.” In the authors’ experience, programming is an excellent pedagogical tool for understanding mathematics: “You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you canprogram”(AlanPerlis, computer scientist, 1922–1990).Consider, for example, integration.A numericalmethodfor integrationhasa muchstronger focuson what the integral actually is and means compared to analytical methods, where much time and effort must be devoted to integration by parts, integration by substitution, etc. Moreover, when programming the numerical integration formula, it becomes evident that it works for “all” mathematical functions and that the implementation should be in terms of a general function applicable to “all” integrals. In this way, students learn to recognize a special problem as belonging to a class of problems (e.g., integration, differential equations, root finding), for which we have general numerical methods implemented in a widely applicable software. When they write this software, as we do in this book, they learn how to generalize and increase the abstraction level of the mathematical problem. When they use this software, they learn how a special case should be attacked by general methods and software for the class of problems that comprises the special case at hand. This is the power of mathematics in a nutshell, and it is paramount that studentsunderstand this way of thinking.
back to the  book Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition"
Programming for Computations – Python A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition
Title
Programming for Computations – Python
Subtitle
A Gentle Introduction to Numerical Simulations with Python 3.6
Volume
Second Edition
Authors
Svein Linge
Hans Petter Langtangen
Publisher
Springer Open
Date
2020
Language
English
License
CC BY 4.0
ISBN
978-3-319-32428-9
Size
17.8 x 25.4 cm
Pages
356
Keywords
Programmiersprache, Informatik, programming language, functional, imperative, object-oriented, reflective
Category
Informatik
Web-Books
Library
Privacy
Imprint
Austria-Forum
Austria-Forum
Web-Books
Programming for Computations – Python