1st Edition

Software Development A Handbook for Computational Scientists

By Tobias Weinzierl Copyright 2027
304 Pages 7 Color & 19 B/W Illustrations
by Chapman & Hall

304 Pages 7 Color & 19 B/W Illustrations
by Chapman & Hall

Computational software is the backbone of progress in many fields of science and engineering. As the importance and complexity of this software grows, developers should apply software development best practices systematically. However, exploratory, agile, and numerical codes present unique challenges. Developers must combine cutting-edge expertise from applied mathematics, computer science,... Read more

Part I: The ecosystem
1. Context and environment

Part II: Principles and doctrines

2. Artefact organisation

3. Artefact quality

4. Behaviour

Part III: Techniques

5. Collaborate and communicate

6. Branching and merging

7. Code review

8. Debugging

9. Tests

10. Defensive programming

11. Ingredients of good documentation and architecture descriptions

12. How to write documentation and architecture documents

Part IV: Structure and organisation 

13. Workflows

14. Organise your day-to-day work

15. Interacting with stakeholders

16. Closing remarks

Biography

Tobias Weinzierl is Professor of High-Performance Computing (HPC) in the Department of Computer Science at Durham University in the UK, where he leads the Scientific Computing research group and serves as Director of Durham's Institute for Data Science (IDAS). Tobias earned a Dr. rer. nat. (PhD) as well as a habilitation in Computer Science from Technische Universität München (TUM). His research centres on the fundamental question of how to translate state-of-the-art algorithms - e.g. multigrid, higher-order discontinuous Galerkin, and smoothed-particle hydrodynamics into fast code that leverages modern architectures and pushes the frontiers of computational insight.