| Short Course "Getting started with generative AI coding tools" Dr. Inga Ulusoy, Dr. Harald Mack
Generative AI is emerging as a major creative force that supports humans in content creation. AI coding tools can support software development on many levels. In this short course, participants will get started with using GitHub copilot in VSCode as effective coding tools. | |
| Compact Course "Sustainability in Research Software for HPC" Dr. Andreas Baer (KIT)
Maximal performance! This used to be the goal for research software for HPC, but sustainability is getting more and more traction and growing importance. This course targets two aspects contributing to sustainable research software for HPC clusters: Firstly, energy and carbon optimization in the usage is outlined to raise awareness and make the participants ready for future HPC systems with energy-budget-based resource grants or efficiency rewarding queuing systems as pioneered by Japans #1 supercomputer Fugaku. Secondly, sustainability in the development process of HPC research software is addressed, where productivity, code quality and carbon efficiency often go hand in hand. The course is specifically targeted to researchers using and developing HPC research software, in all career stages, irrespective of their usage type (e.g. physical simulations, data analysis, AI). It is intended as an interactive course, allowing plenty of time for discussion and exchange on this topic. | |
| Compact Course "Generative AI for writing (research) software" Dr. Inga Ulusoy
Generative AI is emerging as a major creative force that supports humans in content creation. Specifically trained models can support software developers with their software projects and lead to time savings and a shift in what aspects of generating software are more important on a day-to-day basis. In this course, we will learn how to set up and use AI tools in software development projects. Best practices in using such tools, as well as recommendations how to use them efficiently and safely will be introduced. | |
| Compact Course "Python Packaging" Dr. Liam Keegan
In this course we will learn how to package a Python library, how to publish it on PyPI and on conda-forge, as well as look at more advanced topics like building pre-compiled wheels including c++ extensions using pybind11, and automatically publishing new releases using continuous integration and cibuildwheel. | |
| Compact Course "Intermediate Topics in Version Control with Git" Dr. Dominic Kempf
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. Special emphasis is given to the resolution of merge conflicts that may be required in the process of dealing with diverging branches. | |
| Compact Course "Expert Topics in Version Control with Git" Dr. Dominic Kempf
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 explores some advanced topics that increase the participants' repertoire of Git workflows: Bisection, Worktrees, Submodules, Large File Storage and Pre-commit Hooks. Additionally, we showcase invasive methods of modifying a Git repository via Rebase. | |
| Compact Course "Continuous Integration with Github Actions" Dr. Dominic Kempf
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. | |
| Compact Course "Agentic Test-Driven Development" Dr. Liam Keegan
As agentic coding tools like Claude Code and Codex CLI make generating code faster, validating the correctness of this code becomes more important than ever. In this course you will learn how to apply test-driven development and software testing best practices in the context of agentic software development. By writing tests before the implementation, our test suite not only verifies correctness, but also defines a clear specification of what the code should and should not do. | |