July 5, 2021
Europe/Zurich timezone

HSF Training Hackathon on C++

The big goal!

Training in software and computing is an essential ingredient for the success of any HEP experiment. As most experiments have similar basic prerequisites we want to join our efforts and create one introductory software training curriculum that serves HEP newcomers from all experiments. This curriculum is made up of independent training modules and should contain all software skills needed as they enter the field while instilling best practices for writing sustainable software.

We have started this work here and have completed and tested several of our modules to great success.

What are the next steps?

A lot remains to be done! In particular, modules can be expanded an improved. 

This is where you come in!

Tell me more about these training modules

Basically each module is a website like this one which is generated from a repository like this one. Quite fancy, isn't it? Don't worry if the source looks a bit overwhelming at first glance. The whole content is conveniently written in markdown, which will take you less than ten minutes to learn and we can help you to set up everything around it at the beginning.

The modules are suitable for self study, but can just as well be used to quickly roll out a training event (more information).

So what will happen at the hackathon on C++?

Very simple: Let's dedicate two hours to talk and discuss what has been done and the plans ahead towards a complete training module in C++. You will have the chance to present your progress and get feedback, what is still required, or just say hi. Up to you!

Perhaps you're thinking "well, I can do that at any time". And you're right, of course. But sometimes it's much nicer to block off some hours/days to really focus on one thing and a workshop can be a convenient excuse for this.

Which module will we focus on?

The Modern C++ module will be the highlight in this follow-up. There's a google document where you are very much invited to elaborate your ideas and see what other people have written! Don't be shy to leave your thoughts!

What happens afterwards?

Of course we would be more than happy to see you bring your chapters all the way from creation to its debut training event, so we highly encourage you to stay connected! But we also perfectly understand if it is difficult for you to find time to continue contributing outside of the workshop. In that case we will try to find someone who can bring your chapter/ideas from where you left it to full fruition.


We want to make your contribution visible. If you make non-trivial contributions to the training module, you can add your profile to the HSF Training Community. We are also currently working on making the content contributors of each module visible on the front page of the module in a similar fashion. Of course we are open to any other suggestions from your side as well.

Any preparations required?

Familiarity with git basics is highly recommended. If you aren't familiar with markdown yet, take a look here, but it will only take a couple of minutes.

If you have some more time to spare, take a look at the The Carpentries Curriculum Development Handbook. The approach of HSF Training is closely mimicking the example of Software Carpentry, so most of this applies to us as well. If you're more interested in the technical side of things, take a look into their documentation on how to create a module. Note however that we made some changes/adaptations.