Skip to main content

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.

Upcoming Events [see all...]

16.12.2024
09:00 - 13:00
Theory & Methods
Python Best Practices
[]
Compact Courses
Speaker: Dr. Inga Ulusoy, Research Software Engineer, Scientific Software Center (SSC)
Location: Mathematikon • Conference Room 5/104, 5th Floor • Im Neuenheimer Feld 205, 69120 Heidelberg
Registration: Please register via this form
Organizer: Scientific Software Center (SSC)
ECTS: 0.5
This is a half day course.

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.

Prerequisites:

Basic Python knowledge is required.

Summary:

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.

Learning Objectives:

After the course participants will

- Understand the basic PEP recommendations
- Use a linter and code formatter to ensure following of the guidelines
- Write better=more readable code
- Avoid bugs through best practices for example in passing keyword arguments
 
17.12.2024
09:00 - 13:00
Theory & Methods
Generative AI for writing (research) software
[]
Compact Courses
Speaker: Dr. Inga Ulusoy, Research Software Engineer, Scientific Software Center (SSC)
Location: Mathematikon • Conference Room 5/104, 5th Floor • Im Neuenheimer Feld 205, 69120 Heidelberg
Registration: Please register via this form
Organizer: Scientific Software Center (SSC)
ECTS: 0.5
This is a half day course.

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.

Prerequisites:

Basic Python knowledge is required. Participants need a laptop/PC with Visual Studio Code installed and a working Python environment. Participants need to have access to GitHub copilot (either through free trial, individual license such as GitHub student (free), or other form of license).

Summary:

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 about GitHub Copilot, the differences to ChatGPT, and how to set up and use GitHub Copilot in coding projects. Best practices in using Copilot, as well as recommendations how to use it efficiently and safely will be introduced.

Learning Objectives:

After the course participants will

- Know what GitHub Copilot is and what is happening under the hood
- Use Copilot in an IDE
- Improve Copilot's suggestions through providing appropriate context
- Know when and when not to use Copilot
- Know about privacy and security when using GitHub copilot
 
15.01.2025
09:00 - 17:00
Theory & Methods
The Unix Shell + Version Control with Git
[]
Compact Courses
Speaker: Dr. Dominic Kempf, Research Software Engineer, Scientific Software Center (SSC)
Location: Mathematikon • Im Neuenheimer Feld 205, 69120 Heidelberg
Registration: Please register via this form
Organizer: Scientific Software Center (SSC)
ECTS: 0.5
This is a one day course. The first half of the day covers the basics of the Unix Shell, the second half covers Version Control with Git.

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.

Prerequisites:

No prior knowledge by the participants is necessary to participate in this course and it is intended for all scientific audiences. Participants are required to bring their own laptops to work on during the course. Network access (e.g. through Eduroam) is recommended.

Summary:

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.

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.

Learning Objectives:

- Have a fundamental understanding of how and why to use the Unix Shell
- Be comfortable with handling files and directories using the command line
- Have experience with advanced usage of the shell e.g. loops, pipes, redirects etc.
- Know how to write their workflows as reusable shell scripts
- Understand the benefits of using version control
- Understand basic git terminology
- Have a good working knowledge of common tasks in Git
- See how Git repositories can help them to move towards practicing Open Science