Scientific Software DevelopmentBlock Course: Scientific Software Development


  • Date: 22.1.24-26.1.24
  • Time: 9:00 - 13:00
  • Location: Mathematikon Bauteil A, Im Neuenheimer Feld 205, seminar room 12 (5th floor)
  • Instructor: Dr. Inga Ulusoy, Research Software Engineer, Scientific Software Center


Basic Python knowledge is required. Participants need a laptop.


In this course, you will learn how to develop scientific software in a way that enables reproducible research and sustainable software. Sustainable scientific software leaves room for further, subsequent implementations and method development, and saves time and effort in the long run; additionally, a sustainable approach follows good scientific practice through making results reproducible. This course is aimed at researchers, doctoral and master students who develop scientific software to carry out their research.

Learning Objectives

After the course participants should be able to

  • Use the git version-control system and collaborate on GitHub
  • Use an integrated development environment (IDE)
  • Use a linter and code formatter
  • Understand the best practices for planning a piece of software
  • Write Pytest unit tests
  • Use Sphinx to build a documentation
  • Ensure reproducibility through automated testing with GitHub actions
  • Understand the basics of publishing a Python package


Please register here to sign up for the course.