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

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