The purpose of the Education & Training component is to offer courses, materials, and workshops to help you in getting started, or to boost your engineering practices.
The HIFIS Education team consists of small teams of instructors distributed across the DLR, GFZ and HZDR centres. These are supplemented by helpers from the entire Helmholtz Association, depending on the possibilities.
The programme is tailored to the needs of software development in a scientific context. Beginners’ courses are regularly offered on important basic skills such as programming in Python, dealing with version control or publishing scientific software. The existing courses are also increasingly being expanded to include more advanced topics. For example, object-oriented programming or using Gitlab CI for project automation are now also part of the portfolio.
Check out the HIDA course catalog for upcoming HIFIS courses and events on a range of software-related topics.
On this page, you can find:
- Custom-tailored courses we adapt with you,
- Workshop materials we use,
- Tutorials,
- Guidelines,
- External resources to help you get started.
Can’t find exactly what you’re looking for? We also offer custom-tailored courses. For anything else, get in touch: support@hifis.net
AI in Our Courses
AI competency is in demand everywhere. Much of what that term describes is tool competency, and a tool pays off in the hands of someone who knows the craft it is used for. For software, that craft is software engineering, and that is what we teach: deciding what to build, writing and reviewing code, testing it, and maintaining it over time.
AI tools and agentic coding accelerate the manual steps of this work. An agent drafts a function or a test in seconds. That speed is real, and it raises the stakes, because the faster the tool, the more the outcome depends on the person directing it. Whether a suggestion solves the right problem, fits the system, is secure and correctly licensed, and can be maintained is decided by the engineer, not by the agent.
An AI agent is like an electric screwdriver. It drives a screw far faster than by hand, which is exactly why it is worth using, and exactly why it pays to know whether a screw belongs there, whether the wall can take the load, and whether the result will hold.
Our courses build the foundation that makes AI assistance pay off. Learners who have practised the craft can use these tools with confidence, and stay responsible for the software they produce.
Custom-Tailored Courses
We adapt our courses to your needs
Our courses run regularly, and we can tailor them to your group. If a course does not match the tools your team works with, or the level your people are at, we adapt it. Tell us what you need and an instructor will work out the content and the organisation with you. For topics outside our portfolio, get in touch and we will see what is feasible.
Example: agentic coding. Our agentic coding course currently runs at centres that provide the matching infrastructure, a Coder environment and Anthropic licences. Courses on AI tooling are tool-specific by nature, and that is exactly why we adapt them: same learning goals, matched to the environment you already have.
Requirements. We ask for a group of roughly 15 to 20 participants. Courses built around specific tools also need the matching technical infrastructure at your centre, or a comparable setup we agree on beforehand. Our FAQ covers the details.
Workshop Materials
Our workshop material is available for self-guided learning or as a basis for your own workshops. Its use and reuse is permitted under a Creative Commons License (see the footers on the workshop pages).
Note: Workshops marked as (legacy) have been replaced by a newer offer. The entries in the table are retained here to keep older materials available for reference.
If you find issues or would like to contribute, feel free to take a look at the respective repositories.
General
| Topic | Materials | Repository |
|---|---|---|
| Research Software Publication | (In preparation) | Repository |
| Container Virtualization in Science | Material | Repository |
Python
| Topic | Materials | Repository |
|---|---|---|
| First Steps in Python | Material | Repository |
| Object-Oriented Programming | Material | Repository |
| Data Processing with Pandas (legacy) | Material | Repository |
| Data Visualization with Matplotlib (legacy) | Material | Repository |
| Introduction to Pandas and Matplotlib | Material | Repository |
Git and GitLab
| Topic | Materials | Repository |
|---|---|---|
| Introduction to Git and GitLab | Material | Repository |
| Continuous Integration with GitLab CI | Material | Repository |
Further Materials
Not all of our workshop materials are published in a nice fashion (yet). You can find the complete set of materials in the Helmholtz Codebase.
Other Recommended RSE Material
- HiRSE Summer of Testing - This is a series of videos focussing on testing in the context of Research Software Engineering.
- Awesome Educational Resources for Research Software Engineering - This is a curated list of educational resources for Research Software Engineering.
Tutorials
Guidelines
External Resources
These articles are written by third party organisations, and they aren’t necessarily focussed on research software development, but they represent a set of industry best practices for writing software, sharing code, and building software communities. We’ve brought these together here to try and answer some common questions that researchers often ask us.
How Do I Share My Project?
- Licensing - Open source projects need an open source license - but how do I do that, and what license should I use? For a simple way to get started, try Choose A License, and for a more in-depth guide to creating open source projects, try The Open Source Guide.
- Citations - It’s important to prepare software projects for citation as part of sustainable research software development. Simple ways to both prepare for citation, and cite other researchers’ software, are described at this Research Software Citation guide.
- Documentation - Writing good documentation can be hard, but Write the Docs have put together a Beginner’s Guide to Writing Documentation, starting with a single README file.
If you’re just starting out with this topic, and you have some code you want to make ready for publication/open source sharing, we run regular workshops where we can help you with all of these topics. Click to see all our workshops and find out more.
What Are Best Practices for Research Software?
- Ethical Software - Ethical research practices should also be visible in how we write research software. The Turing Way is a guide to these best practices in data science, particularly reproducibility.
- Software Layout - Common patterns for software aim to make it as easy as possible for reviewers or new team members to understand how a project works. One pattern is using common project folder layouts. The Cookiecutter Data Science project provides a way to get started quickly on new data science projects in a manner that other people will be able to recognise and understand.
- Committing - Reading through commits in a shared project can be a valuable way of understanding changes that you or other people have made, and figuring out when a bug appeared. How to Write a Git Commit Message explains how to describe the contents of a commit in a clean and readable way. Also, as a deep read, try My favourite Git commit.
Still Got Questions?
Feel free to contact us with what other questions you want answered, and what articles you'd find helpful.