Learn how to develop­ better­ scientific software

Making scientific software reproducible is both critical to successful research and challenging.

The SSC offers courses open to all students and researchers at the university on software engineering best practices such as testing, version control, containerization, continuous integration and much more. Applying these techniques will improve the quality of the code you write, and make it easier to maintain, modify and deploy. For PhD students our mentoring program “Reproducible Science'' is a place to meet peers and share experiences as well as learn. To get a head start on your next development project, check out our project templates, which include basic and advanced Python and c++ repository templates. Or join our next session of Lunch Time Python to learn about a new library over lunch.

Latest courses

Table

11.02.2027
Short course "Code Review for research groups"
Dr. Dominic Kempf

Code review is a valuable practice for improving code quality, sharing knowledge, and making research software easier to maintain. In this short course, we will introduce practical approaches to reviewing code in research groups, including how to give constructive feedback, what to look for in a review, and how to integrate code review into collaborative Git workflows. We will also discuss how to establish a lightweight code review culture that fits the needs and resources of a research group.
All Courses

Our Resources

Coding Guidelines

We provide general guidelines on best practices in sustainable software development and good scientific practice in research software engineering, which should apply to most projects and programming languages. In addition we provide language-specific guidelines for Python and C++ with a set of good default choices as well as recommendations on tooling and libraries.

Coding Templates

We provide project templates to kick-start your next Python, C++ or Fortran research project. They are simple to use and come with unit tests and continuous integration all set up and ready to go. For more advanced use cases like developing libraries we also offer C++ and Python project cookiecutters.

External Resources

Programming related courses offered at Heidelberg University

More learning resources