With the recent revisions to the C++ language and standard library, the ways it is now being used are quite different. Used well, these features enable the programmer to write elegant, reusable and portable code that runs efficiently on a variety of architectures.

However it is still a very large and complex tool. This course will cover a minimal set of features to allow an experienced non-C++ programmer to get to grips with language.

These include:

We will also briefly cover several important libraries for numerical computing.

Prerequisites:

The course is designed for appeal to programmers with existing experience in another language (e.g. C, Fortran, Java, Python): it is not an introduction to programming.

Attendees are also expected to be familiar with using basic Unix tools such as the bash command line, git repositories and simple Makefiles.

Requirements:

Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on.

They are also required to abide by the ARCHER2 Code of Conduct.

Timetable:

09:30 - 12:30 BST each day, with a break from 11:00 to 11:30.

Videos

Day 1

Session 1

Session 2

Day 2

Session 1

Session 2

Day 3

Session 1

Session 2

Day 4

Session 1

Session 2

Feedback

This course is part-funded by the PRACE PRACE project and is free to all.