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: tba

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 "The Unix Shell", Dr. Dominic Kempf, SSC, June 7th 2022

The Unix shell is a powerful tool that allows people to do complex things with just a few keystrokes. More importantly, it helps them combine existing programs in new ways and automate repetitive tasks so they aren’t typing the same things over and over again. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources. The course will include hands-on live coding sessions where participants exercise the learned commands on their own computers.

Course description | Registration

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

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. However, it is not limited to software: books, papers, small data sets, and anything that changes over time or needs to be shared can and should be stored in a version control system. The course will include hands-on live coding sessions where participants exercise the learned commands on their own computers.

Course Description | Registration

Compact Course "Advanced Topics in Version Control with Git", Dr. Dominic Kempf, SSC, June 28th 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 "Open Source Licensing", Dr. Dominic Kempf, SSC, July 5th 2022

Software licenses set the legal terms about using and reusing software. For a software project to be usable by others, a license is absolutely required. The course will introduce popular open source licenses and discuss the differences between them. Using real world examples, we study the licensing constraints that may arise from distributing a software project including its dependencies (both for compiled and interpreted languages). Furthermore, the course gives an overview of licenses for documentation and data. This course intends to enable participants to make their own informed decisions - no legal advice can be given during the course.

Course Description | Registration

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

In this course we will look at how the choice of algorithms, data structures and hardware influences the performance of our C++ applications. We will cover some performance best practices which are always applicable, as well as some possible optimizations for more specific scenarios. We will also discuss when not to optimize, for example sacrificing readability and maintainability for a minimal performance gain, or preventing the compiler from doing a different and possibly better optimization. Finally we will apply this knowledge to optimize example code in a series of hands-on exercises.

Course Description | Registration

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