Computation in science : from concepts to practice / Konrad Hinsen.

Hinsen, Konrad, author.
Bristol [England] (Temple Circus, Temple Way, Bristol BS1 6HG, UK) : IOP Publishing, [2020]
1 online resource (various pagings) : illustrations (some color)
Second edition.
IOP ebooks. 2020 collection.
IOP ebooks. [2020 collection]

Location Notes Your Loan Policy


Science -- Mathematics.
System Details:
Mode of access: World Wide Web.
System requirements: Adobe Acrobat Reader, EPUB reader, or Kindle reader.
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 Aubinches 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.
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 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 plays. 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.
1. What is computation?
1.1. Defining computation
1.2. The roles of computation in scientific research
1.3. Analog computing
1.4. Further reading
2. Computation in science
2.1. Traditional science : celestial mechanics
2.2. Scientific models and computation
2.3. Computation at the interface between observations and models
2.4. Computation for developing insight
2.5. The impact of computing on science
2.6. Further reading
3. Formalizing computation
3.1. From manual computation to rewriting rules
3.2. From computing machines to automata theory
3.3. Computability
3.4. Restricted models of computation
3.5. Computational complexity
3.6. Computing with numbers
3.7. Further reading
4. Automating computation
4.1. Computer architectures
4.2. Programming languages
4.3. Observing program execution
4.4. Software engineering
4.5. Further reading
5. Taming complexity
5.1. Chaos and complexity in computation
5.2. Verification, validation, and testing
5.3. Abstraction
5.4. Managing state
5.5. Incidental complexity and technical debt
5.6. Further reading
6. Computational reproducibility
6.1. Reproducibility : a core value of science
6.2. Repeating, reproducing, replicating
6.3. The role of computation in the reproducibility crisis
6.4. Non-reproducible determinism
6.5. Staged computation
6.6. Replicability, robustness, and reuse
6.7. Managing software evolution
6.8. Best practices for reproducible and replicable computational science
6.9. Further reading
7. Outlook : scientific knowledge in the digital age
7.1. The scientific record goes digital
7.2. Procedural knowledge turns into software
7.3. Machine learning : the fusion of factual and procedural knowledge
7.4. The time scales of scientific progress and computing
7.5. The industrialization of science
7.6. Preparing the future
7.7. Further reading.
"Version: 20200901"--Title page verso.
Includes bibliographical references.
Title from PDF title page (viewed on October 5, 2020).
Institute of Physics (Great Britain), publisher.
Other format:
Print version:
Publisher Number:
10.1088/978-0-7503-3287-3 doi
Access Restriction:
Restricted for use by site license.