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
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.