A meta-post on the workshop I held for the IOP student community on Intermediate C++


Much the same as the rationale behind my other presentation meta-posts, that is:

  • I would like to preserve questions
  • I would like to collect the video, slides and other miscellaneous stuff in one location 1
  • It would be nice to have my own thoughts here afterwards


Blurb verbatim from the workshop announcement.

In the 2nd C++ workshop, we will explore the build process and its automation using CMake; before discussing continuous integration for testing on multiple operating systems. We will then round out the workshop by augmenting the particle simulater class with Python bindings using the C++ pybind11 library for visualizing results using matplotlib​, plotnine​ and other libraries.

This workshop will include:

The build process and its automation using CMake; why bind C++ to other languages Using C++ in python with bindings and using the pybind11 library Visualising results using matplotlib, plotnine and other libraries Delivered by Rohit Goswami, doctoral researcher at the University of Iceland, Reykjavik. Participation in the workshop will not require any pre-installed software. Everything demonstrated will be available for students to edit and run online.

Github Repository
Here. This demonstrates the refactoring of a particle simulator.

Other Content

Anything on this site tagged with Nix or tagged with C++. Also an introduction to nix given by me (and Amrita Goswami) at CarpentryCon2020 is here:




  • Using the SHA commit IDs worked really well
    • Perfect for demonstrating refactors
  • GitHub Discussions might be a good idea later too
  • Using Powerpoint in the background to get subtitles was fantastic too
    • Might expand these

  1. One location I am going to be able to keep track of ↩︎