August 29, 2023 to September 1, 2023
University of Manchester
Europe/London timezone

If you want to stay informed about future HEP C++ training events please register with your preferences at 

Welcome to the eighth iteration of a C++ course for the high energy physics community organised in collaboration between the Software Institute for Data Intensive Sciences, the Training Working Group of the HEP Software Foundation, and the STFC-funded Swift-HEP project

The course will be held in person. We will also have a Zoom broadcast for the lecture parts (this will not be available for the hands-on exercises and tutorials). 

Coffee breaks and teacher/mentor participation are sponsored by Swift-HEP, and we expect participants to make their own travel/subsistence/accommodation arrangements. 

Important Links


IMPORTANT NOTE: For this event, the lectures will be held on Tuesday late morning (11 am - 1 pm), Wednesday morning (9:30 am -12 pm) and Thursday morning (9:00 am -12 pm) of the training week. The afternoons and Friday morning are dedicated to hands-on exercises and group work. 

(No) registration fee

For in-person participants, we will not charge a registration fee as coffee breaks and mentor/demonstrator travel costs are covered by Swift-HEP, and the local mentors are volunteers from the ATLAS and LHCb Manchester group. Travel and accommodation are to be arranged by the participants, and we provide a list of hotels and lunch/dinner places near the university. We expect that these expenses will be covered by the supervisor's / group grant that the student is already receiving tuition and maintenance from.  

Organisation and Content

This iteration of the course will cover the "C++ essentials", for details on the content please see the table below. We shall run also an "Advanced C++" course in fall this year. 

The event will run over a week. Lecture days will feature one two hour interactive lecture session in the morning and a session focused around hands-on training exercises in small breakout groups (related to the morning training) in the afternoons (CET).

The lecture parts will be held in a hybrid format, i.e. the morning lectures will be given in a meeting room at Manchester (Jocelyn Bell Burnell lecture theater) and also broadcasted on zoom. The afternoon hands-on will take place in smaller groups in the same meeting room. While we don't have the capacity to provide demonstrators to follow the hands-on part, we can provide breakout rooms and mattermost for remote participants to join and self-organize. 

The course is based on material developed originally by Sebastien Ponce.  

The afternoon trainings are supported by mentors from within the HEP community

  • David Lange
  • Caterina Doglioni
  • Tobias Fitschen
  • Maximilian Amerl
  • Nicola Skidmore
  • Pratik Jawahar (TBC)


The lecture sessions contain the following topics

Basics (syntax, pointers, references, compound types, operators ...)

Tools (code mgmt, compiler chain, debugging, ...)

Object Orientation (classes, inheritance, ... )

Object Orientation  (allocate objects, advanced OO, functors, ...)

Modern C++ (constness, exceptions, templates, STL, lambdas, ...)




Registration : Important notice !!!

The number of participant places for this course and training are deliberately limited in order to allow us to give you more personalised instructions.

In case you registered and got a place but find out later that you cannot attend, please contact the organisers so we eventually could make your place available to others.

Alternatively if you find the participant places already all booked and/or you want to stay informed about upcoming courses, please feel free to register on the waiting list at . In case a place gets available we will move you there (FIFO) and we would also contact you for an eventual new iteration of the course.

Is this training for me?

Good question.  Our target audience for this training are members of the high energy physics community who are in any kind related to software development (experiments, services, tools, ...). 

The registration process is not moderated but we ask that you reflect on two things before registering. 

[1] Can I commit to attending the full event?

The most important thing is that those who want to learn are given the full opportunity to do so.  And in our teaching pedagogy, learning means staying engaged both during the lecture and the hands-on sessions.  Please only register if you can commit to attending and being engaged.  If you are interested but aren't sure, don't hesitate to sign up for the waiting list to express your interest!

[2] What level of C++ is required?

The course will start from the very basics but will also touch on advanced and modern features of C++ (check out the curriculum above). We suggest you to follow this course if you only have very basic knowledge of C++ or you want to refresh it. The goal of this course is to already enable you to contribute meaningfully to your experiment code base or to write your own analysis software.  If you aren't sure of your current skill level, then don't hesitate to contact us to ask if you "know enough", we'll be able to help you assess your current level and whether this training is right for you.

Finally, every individual interested in the training is welcome to subscribe. The sessions for this iteration of the event are more optimised for European time zones.  If you don't plan to attend this training but maybe another iteration please still subscribe to the waiting list so we can reach out to you and inform you of any future C++ trainings.

Really want to attend but timing doesn't work?

We also plan to run courses in other countries / time zones. 

Finally we also plan to record the morning courses and publish them on this indico page. In case you only want to consume the recordings and not participate live in the lectures and training you also don't need to register for the training.

Can I get a certificate of attendance? 

If needed we can also provide attendance certificates to the participants. Please email Caterina Doglioni if you need this. 

Application for this event is currently open.
22 / 50