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

Online Compact Course "A short tour of sustainable software development", Dr. Dominic Kempf, 3.5.23

The course will give a brief overview of best practices for the sustainable development of research software. Areas covered are e.g. version control, development workflows, licensing, documentation, software testing, CI/CD, packaging, static code analysis, clean code. The primary goal of the course is to enable the participants to formulate a roadmap of courses and self-learning activities to further improve their software development skills.

Further Information | Registration

Compact Course "The Unix Shell + Version Control with Git (Digital Humanities Edition)", Dr. Dominic Kempf, 9.5.23

The Unix shell is a powerful tool that allows people to do complex things with just a few
keystrokes. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources. Version control is the lab notebook of the digital world: it is used to keep track of what was done
and to collaborate with other people. Its use is the state of the art in software development
projects of all scales. The course will include hands-on live coding sessions where participants
exercise the learned commands on their own computers.

Further Information | Registration

Compact Course "Python Best Practices", Dr. Inga Ulusoy, 7.6.23

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.

Further Information | Registration

Compact Course "The Unix Shell + Version Control with Git", Dr. Dominic Kempf, 14.6.23

The Unix shell is a powerful tool that allows people to do complex things with just a few
keystrokes. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources. Version control is the lab notebook of the digital world: it is used to keep track of what was done
and to collaborate with other people. Its use is the state of the art in software development
projects of all scales. The course will include hands-on live coding sessions where participants
exercise the learned commands on their own computers.

Further Information | Registration

Compact Course "Introduction to Python Testing", Dr. Liam Keegan, 10.10.23

An automated test suite makes it much easier to maintain, extend and debug your Python code.
In this course we will learn how to write automated tests in Python using the pytest library. After
introducing the key concepts, the majority of the course will be hands-on, writing and running
tests.

Further Information | Registration

Praktikum "Beginner/Advanced Software Practical Research Software Engineering", Dr. Dominic Kempf, SoSe 23

The software practical is a mandatory course in the BSc/MSc Computer Science curriculum, as well as in Mathematics and Scientific Computing. Students will carry out project work over the course of a semester, implementing a self-contained project according to best practices of software development. Project ideas will be presented on a first meeting at the beginning of the semester and are generally taken from the daily work of the Scientific Software Center.

Further Information

 

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

Monthly Seminar Series "Lunch Time Python", SSC

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

Past teaching events

Block Course "Scientific Software Development", Dr. Inga Ulusoy, 28.2.23-9.3.23

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

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

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

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

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

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

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