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

Seminar Series "Lunch Time Python", SSC, starting 29th October 2021, 12:00 PM on heiconf (later in person)

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 "Data Exploration with Python and Jupyter", Dr. Liam Keegan, SSC, November 10th 2021

Jupyter notebooks are a great tool for exploring and interacting with data using the Python programming language and its rich ecosystem of libraries. In this course we will cover basic usage of the Pandas library to download a dataset, explore its contents, clean up missing or invalid data, filter the data according to different criteria, and plot visualizations of the data.

Course description | Registration

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

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, November 24th 2021

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 "Containers in Science: Using Docker and Singularity", Dr. Dominic Kempf, SSC, December 4th 2021

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. The workshop involves 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, January 18th 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, SSC, January 20th 2022

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. The SSC is available for follow-up consultation work on the CI workflows developed during this course.

Course Description | Registration

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

We use C++ to get good performance, so measuring and understanding the performance characteristics of our code is vital, for example to identify bottlenecks or to determine if a change to the code actually improves the performance. Unfortunately it is also complicated. In this course we will cover three different ways to benchmark our code, and discuss the pros and cons of each method.

Course Description | Registration

Compact course "Scientific Software Development", Dr. Inga Ulusoy, SSC, March 2022

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

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

This one week course will provide an introduction into the DUNE framework for the numerical solution of PDEs with the finite element method. At the end the attendees will have a solid knowledge of the simulation workflow from mesh generation and implementation of finite element and finite volume methods to visualization of the results. Topics covered are the solution of stationary and time-dependent problems, as well as local adaptivity, the use of parallel computers and the solution of non-linear PDE’s and systems of PDE’s.

Course website