Overview of the contents of the (German) book derived from the (German) lecture „Scientific Software Development“.
Please note: The book itself is (currently) only available in German. These pages only serve the interested international readers and provide them with a first overview of the contents.
Measured or calculated data and the interpretation of that data are central to many disciplines within the empirical sciences. As data processing is usually computer-assisted, programming is an essential component. However, there is often a lack of the necessary background knowledge regarding general concepts of software development, the application of which is frequently required due to the complexity of the tasks at hand. Furthermore, computer programs (i.e., software) must be designed in such a way that they are traceable by others and future-proof in order to meet scientific standards. Poor code quality and the resulting lack of traceability is a major and severely underestimated problem for science.
The book covers three major topics: infrastructure, practical guidance on writing code, and software architecture. Finally, using the example of data processing and analysis in physical chemistry and related disciplines, it demonstrates how all the concepts presented work together.
For each chapter, comprehension questions for self-study and an annotated bibliography are provided. Depending on the topic, further references may also be found on the relevant page. All this information can be easily accessed via the table below: both the chapter numbers and their headings are links to the relevant detail pages.
Anyone interested in a (more) practical application of the concepts and topics covered in the book, and who (wishes to) program in Python, is recommended to take a look at the Python course for scientists. The course is still being developed (i.e. there are gaps and it is being continuously updated), but some of the topics covered in the book are now being addressed in a more practical way.