In the course of only a few decades computers have revolutionized scientific research and more and more scientists are writing computer programs for doing their work. In spite of the ubiquitous use of computers in science, few researchers in the natural sciences have any schooling in computer science, software engineering, or numerical analysis. They usually acquire their computing knowledge "on the job" and often feel overwhelmed by the amount of computing knowledge they must absorb.
Computation in Science provides a background in computation for scientists who use computational methods. The book explains how computing is used in the natural sciences and provides a high-level overview of relevant aspects of computer science and software engineering with a focus on concepts, results, and applications. The goal of this book is to explain these basic principles, and to show how they relate to the tasks of a scientist's daily work in a language familiar to them. Its unique feature is in connecting the dots between computational science, the theory of computation and information, and software engineering. It will compensate for the general lack of any formal training in computer science and information theory allowing readers to achieve a better understand how they use computers in their work, and how computers work. Readers will learn to use computers with more confidence, and to see computing technologies in a different light, evaluating them based on how they contribute to doing science.
This new edition has been significantly updated and extended to reflect developments in scientific computing, including new examples and references. It also includes a new chapter on reproducibility which reflects the importance that computational reproducibility. Accompanied by a website maintained by the author, which hosts companion code and supplementary material, it is intended for both graduate students and experienced scientists. Some hands-on experience with computing is highly desirable, but no competence in any specific computing technology is expected.
- Significantly updated and enhanced, including a new chapter on reproducibility, it's one of the first books to include this in the era of the "reproducibility crisis"
- Updated references to include the latest research results
- Accessible to a broad range of physical and life scientists with no formal training in computing
- Written for both graduate students and experienced scientists
- Supported by the website http://computation-in-science.khinsen.net/ with updates, links to useful sites and software
Konrad Hinsen is a research scientist with a background in statistical physics. He develops and uses computational methods for the study of complex systems. Most of his work centers around the structure and dynamics of proteins, at the interface of theory and experiment. He holds a PhD in physics from RWTH Aachen University, and conducts his research at the Centre de Biophysique Moléculaire in Orléans and at the Synchrotron SOLEIL in Saint Aubin. In addition to his research activity, he teaches courses on computational science and works as a department editor for Computing in Science and Engineering magazine.
Preface Acknowledgements Author biography 1 What is computation?2 Computation in science3 Formalizing computation4 Automating computation5 Taming complexity6 Computational reproducibility7 Outlook: Scientific knowledge in the digital age