HGS MathComp - Where Methods Meet Applications
The Heidelberg Graduate School of Mathematical and Computational Methods for the Sciences (HGS MathComp) at Heidelberg University is one of the leading graduate schools in Germany focusing on the complex topic of Scientific Computing. Located in a vibrant research environment, the school offers a structured interdisciplinary education for PhD students. The program supports students in pursuing innovative PhD projects with a strong application-oriented focus, ranging from mathematics, computer science, bio/life-sciences, physics, and chemical engineering sciences to cultural heritage. A strong focus is put on the mathematical and computational foundations: the theoretical underpinnings and computational abstraction and conception.
HGS MathComp Principal Investigators are leading experts in their fields, working on projects that combine mathematical and computational methodology with topical research issues. Individual mentoring for PhD candidates and career development programs ensure that graduates are fully equipped to take up top positions in industry and academia.
09:30 - 13:00
Location: Mathematikon • Room 5/104, 5th Floor • Im Neuenheimer Feld 205, 69120 Heidelberg
Registration: Please register via this form
Organizer: Scientific Software Center (SSC)
The latest information and a registration link are available on the course website.
This compact course is part of the course program of the Scientific Software Center (SSC) at Heidelberg University.
Basic Python knowledge is required. Participants are recommended to bring a laptop.
Summary:
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.
Learning Objectives:
After the course participants will
- Understand the different kinds of tests
- Understand different testing strategies
- Write better tests of their code
- Deal better with legacy code that is missing tests
16:30 - 18:00
Registration: Please register via this form
Organizer: MLAI
To help plan the catering, please register for free by clicking here.
Scientific Machine Learning is a joint initiative from STRUCTURES and IWR aimed at fostering interactions within and development of the local machine learning community. Its portal summarizes the many relevant events and news from across campus that would otherwise remain scattered across single institutions or fields. The goals of the MLAI platform align with the STRUCTURES Cluster of Excellence's objective of driving research into the fundamental understanding of current and future machine learning, and with IWR’s aim to leverage machine learning to enable the solution of long-standing problems in the natural and life sciences, the engineering sciences, as well as the humanities.
Further information and links:
MLAI homepage • Machine Learning Talks on Campus – Information service and mailing list • STRUCTURES Cluster of Excellence
Klaus Maier-Hein • Florian Nieser • Wolfram Pernice
Rocket science:
Saikat Roy (Maier-Hein lab)
Flash over Function: A cautionary tale of trend-chasing from Medical AI
Daniel Schiller (Nieser-Plehn-Heneka labs)
Repurposing Large Language Models for Cosmology
Frank Brückerhoff-Plückelmann (Pernice lab)
Probabilistic Photonic Computing
09:00 - 13:00
Location: Mathematikon • Conference Room, Room 5/104, 5th Floor • Im Neuenheimer Feld 205, 69120 Heidelberg
Registration: Please register via this form
Organizer: Scientific Software Center (SSC)
The latest information and a registration link are available on the course website.
This compact course is part of the course program of the Scientific Software Center (SSC) at Heidelberg University.
Participants should have a basic understanding of the Unix shell e.g. be able to execute commands and edit files. Also, they should have either developed or build software written in a compiled language (e.g. C++, C or Fortran) before.
Summary
CMake has emerged as the de facto standard tool to manage the build process of software developed in compiled languages. It allows to describe the complex build configuration in a descriptive manner and thus enables flexibility, portability, scalability and robustness of the build process. In this course, we will first cover CMake from the end user perspective and learn how to build software that already provides a CMake build system. In the second part, we will dive into how to write a CMake build system for our own software. Special emphasis is put on explaining the principles of “Modern CMake” - a set of best practices to get more milage out of the tool.
Learning Objectives
After this course the participants
- Understand the fundamental concepts and terminologies in CMake
- Be able to build software with CMake
- Know the fundamentals of writing CMake build systems for software