Advanced research software engineering skills are crucial for developing or contributing to quality-assured software in collaborative environments and are very useful in today’s research landscape.
The block course has been created from the material of the two Master lectures Simulation Software Engineering and Sustainable Development of Simulation Software to provide better skills in research software engineering specifically aimed at PhD researchers.
Why 102? We don't start from scratch, but assume that participants have a certain amount of prior knowledge - knowledge that is typically taught in Software Carpentry workshops: Unix shell, Git basics and Python.
We want to build on these fundamentals and study methods and tools used to ensure good (research) software engineering:
- Git Workflows
- Containerization
- Testing and Continuous Integration
- Building and Packaging
- Software Design Principles
Skills in these areas are crucial for developing or contributing to quality-assured software in collaborative environments and are very useful in today’s research landscape.
Material and more information on GitHub: Lecture Material
Content:
- Git Workflows
- Containerization
- Testing and Continuous Integration
- Building and Packaging
- Software Design Principles
Requirement:
Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on.