Events by the SSC

Below is a list of events and courses organized by the SSC. For a list of software development-related courses offered at Heidelberg University, please take a look here.

 

Future Events

Monthly Seminar Series "Lunch Time Python", SSC, Next session: mypy - 12pm 30/09/2022

Python is a very popular - maybe even the most popular - programming language among scientific software developers. One of the reasons for this success story is the rich standard library and the rich ecosystem of available (scientific) libraries. To fully leverage this ecosystem, developers need to stay up to date and explore new libraries. Lunch Time Python aims at providing a communication platform between Pythonistas to learn about new libraries in an informal setting. Sessions take roughly 30 minutes, one library is presented per session and the code will be made available afterwards. Come by, enjoy your lunch with us and step up your Python game!

Series website | Registration

Compact Course "Python Best Practices", Dr. Inga Ulusoy, November 8th 2022

Python has rapidly advanced to the most popular programming language in science and
research. From data analysis to simulation and preparation of publications, all can be done in
Python with appropriate libraries and implementing own modules. We will discuss Python
Enhancement Proposals (PEP) and how these can help you write cleaner code. Common
pitfalls in Python will be explained with examples. We will demonstrate typical “bad
programming” and how to code the examples in a more pythonic way.

Course Description | Registration

Compact Course "Advanced Topics in Version Control with Git", Dr. Dominic Kempf, November 29th 2022

Applying version control can be a game changer for a collaborative research software project.
However, even in projects that already successfully use Git, there is often room for improvement
of the employed Git workflows. This workshop tries to delve into collaborative workflows using
Git branches and discuss their strengths. Additionally, the course will introduce some advanced
topics that increase the participants’ repertoire of Git workflows: Submodules, Large File
Storage and Pre-commit Hooks.

Course Description | Registration

Compact Course "Automated Testing with Github Actions", Dr. Dominic Kempf, January 17th 2023

Continuous Integration (CI) is one of the cornerstones of agile development processes: Before
changes are included into the mainline, a number of tests is run automatically to ensure the
quality of the software. In this course, we explain how this process is implemented on
GitHub.com (GitHub Actions). After a general introduction, participants will work on setting up
Github Actions for their own projects.

Course Description | Registration

Compact Course "Containers in Science: Using Docker and Singularity", Dr. Dominic Kempf, January 31th 2023

Container technologies (e.g. Docker containers) have emerged as a fundamental tool of the
cloud computing era. In scientific applications, containerization is used to encapsulate the
complex execution environment of research software with a number of goals in mind: Setting up
user landscapes for Continuous Integration testing, ensuring reproducibility of execution
environments and packaging code to run on an HPC system.

Course Description | Registration

Compact Course "Effective Software Testing", Dr. Liam Keegan, February 28th 2023

A good test suite makes extending, maintaining and debugging a codebase both easier and
faster. In this course we will look at the different kinds of tests, and understand how to write
good tests. We will also cover different testing strategies, such as test-driven-design when
writing new code, or acceptance testing when working with legacy code that doesn’t have a
good test suite. Code samples will use the Python testing framework pytest but the concepts
also apply to other frameworks and languages.

Course Description | Registration

Block Course "Scientific Software Development", Dr. Inga Ulusoy, March 2023

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.

Course Description | Registration

Vorlesung "Programmierkurs (IPK)", Dr. Dominic Kempf, WS 2022/23

Die Vorlesung gehört zu den Pflichtveranstaltungen des Bachelors "Angewandte Informatik",
steht jedoch auch Studierenden anderer Fakultäten offen. Es wird die Programmiersprache
C++ unter Linux behandelt.

Vorlesungswebseite

Ongoing Events

Mentoring Program "Reproducible Science", SSC, starting May 2021

Reproduction of experiments is a fundamental pillar of science. In order to transfer this concept into the digital era, new best practices for scientific work need to be established. The SSC mentoring program will gather a group of PhD students at biannual meetings to learn about such practices and discuss experiences of the participants. Covered topics include version control systems, automated testing, research data management and publication of computational results, but may be varied to the needs of the group.

Program Description | (Please email to ssc@iwr.uni-heidelberg.de if you are interested in participating.)

Past teaching events

Compact Course "Open Source Licensing", Dr. Dominic Kempf, SSC, August 2nd 2022

Compact Course "Advanced Topics in Version Control with Git", Dr. Dominic Kempf, SSC, July 6th 2022

Compact Course "High Performance C++", Dr. Liam Keegan, SSC, July 12th 2022

Compact Course "The Unix Shell", Dr. Dominic Kempf, SSC, June 7th 2022

Compact Course "Version Control with Git", Dr. Dominic Kempf, SSC, June 8th 2022

Compact Course "Data Exploration with Python and Jupyter", Dr. Liam Keegan, SSC, May 10th 2022

Block Course "Solving PDEs with Dune/PDELab", Dr. Dominic Kempf, SSC, March 14th - 18th 2022

Block course "Scientific Software Development", Dr. Inga Ulusoy, SSC, March 2022 (1/3/22, 2/3/22, 3/3/22, 8/3/22, 9/3/22, 10/3/22)

Compact Course "Performance Benchmarking C++ Applications", Dr. Liam Keegan, SSC, February 23rd 2022

Compact Course "Automated Testing with GitHub Actions", Dr. Dominic Kempf, SSC, January 20th 2022

Compact Course "Advanced Topics in Version Control with Git", Dr. Dominic Kempf, SSC, January 18th 2022

Compact Course "Containers in Science: Using Docker and Singularity", Dr. Dominic Kempf, SSC, December 7th 2021

Compact Course "Version Control with Git", Dr. Dominic Kempf, SSC, November 24th 2021

Compact Course "The Unix Shell", Dr. Dominic Kempf, SSC, November 23rd 2021

Compact Course "Data Exploration with Python and Jupyter", Dr. Liam Keegan, SSC, November 10th 2021

Compact Course "The Unix Shell", Dr. Dominic Kempf, SSC, July 27th 2021

Compact Course "Version Control with Git", Dr. Dominic Kempf, SSC, July 28th 2021

Compact Course "Containers in Science: Using Docker and Singularity", Dr. Dominic Kempf, SSC, July 30th 2021

Block course "The Art of Developing Scientific Software: What do you need to make your software fly?", Dr. Inga Ulusoy, SSC, March 2021

This course will be repeated on a regular basis.

In this block 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; in addition to adhering to 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.

Course website

Course testimonials: 

"I definitely recommend this course. others at my institute should get informed about good coding practices, testing etc."

"This was a very helpful introductory course, especially considering the fact that this was the first iteration of the course. It is obvious that a lot of time and effort was spent creating it. The instructor is motivated and capable. The toy data and analysis pipeline is appropriately complex, three members per group is a good size. Thank you again!"

"Considering it being an online format, it was relatively interactive, which was definitely a quality sign! :)"

Virtual Summer school "Solving PDEs with Dune/PDELab", Dr. Dominic Kempf, Prof. Dr. Peter Bastian et al., March 8th - 12th 2021 Course website