ARCHER2 training course: Modern C++ for Computational Scientists 

2 October 2026

This course will cover a minimal set of features to allow experienced programmers with existing experience in another language to get to grips with C++.

14–16 October 2026, 09:30–16:30. Online.

For many computational scientists, C++ remains a primary tool for developing simulation codes, and it is a key part of the High-Performance Computing (HPC) software landscape. It targets performance and offers fine-grained control over hardware resources necessary for optimization, while providing the abstractions needed to manage complex, large-scale software projects. 

While C++ has a long history, the language has evolved significantly. The shift toward "Modern C++" (standard C++11 onwards) has introduced features that make code safer and easier to read without compromising performance. Concepts such as smart pointers, range-based loops, and lambda expressions help developers avoid common pitfalls like memory leaks and buffer overflows. Used together, these help create a consistent “shared language” for developers but the syntax can initially feel dense for those transitioning from other languages like C, Fortran, or Python. 

At EPCC, we have utilised C++ extensively across a wide variety of projects, ranging from small-scale cluster applications to major codes running on national supercomputing services like ARCHER2. Our course, Modern C++ for Computational Scientists, is designed to help researchers update their skills and adopt current best practices. It focuses on core language concepts to provide you with the skills and confidence needed to navigate the broader C++ ecosystem. There is a strong practical focus throughout the course, with exercises accompanying each taught section. 

Course feedback

We have delivered this training multiple times to mixed audiences of academics, public sector employees and industry professionals. Here are just a few of the positive comments received from attendees.

  • "Really good engagement from leaders answering questions about material and exercises." 
  • "There were a lot of examples and exercises to practice what was being taught."
  • "Good coverage of a wide range of topics with plenty of examples to work through."
  • "The course material was good, and the lecturers were very knowledgeable and happy to help."  
  • "The lectures were well paced and covered a good range of topics. All questions were answered in a lot of detail." 
  • "Good explanations of basic C++ concepts." 
  • "The course covered lots of useful information specific to computational science, which can be difficult to find as C++ is a vast topic." 
  • "The information was presented clearly, and the exercises were easily accessible. The course instructors were also knowledgeable and were able to provide assistance with the exercises."

If you are an experienced programmer looking to expand your toolkit or refresh your C++ knowledge, this course offers a grounded, practical overview. 

Registration for the course is open now. For full details, see: https://www.archer2.ac.uk/training/courses/261014-modern-c/  

Author

Nathan Mannall
Nathan Mannall