Scientific Software Development Block Course: Scientific Software Development

Format

  • 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

Prerequisites

Basic Python knowledge is required. Participants need a laptop.

Summary

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

Signup

Please register here to sign up for the course.