List of Topics

Exact schedule to be announced soon!

  • Version control (Git and GitHub) – both introductory and intermediate sessions
  • RSE Skills – how to apply research software engineering principles to write higher-quality code, reduce bugs, and facilitate re-use
  • Debugging – leveraging debugging tools for effectively understanding program behaviour and diagnosing problems
  • AI for Software Engineering – leveraging generative AI tools effectively for software engineering
  • Differentiable programming – foundations of working with automatic differentiation and deploying in code
  • Introduction to High Performance Computing – hardware, performance limits, programming models, profiling, debugging
  • Practical Machine Learning with PyTorch – understanding the structure of a PyTorch model, ML pipeline for classification/regression
  • Observation System Simulation Experiences – using ML for optimal sampling strategy
  • Bayesian ML and Uncertainty Quantification – from uncertainty quantification to physics-informed networks and Bayesian model calibration
  • Introduction to Julia – a brief introduction to the Julia language for computational science
  • Explainable data science with Fluid – building transparent, interactive data science visualisations using the Fluid language
  • FTorch – coupling ML and numerical models in Fortran with FTorch
  • Testing and correctness – deploying unit tests, regression tests, property-based tests
  • Random Forests and Decision Trees – how and when to use these ensemble methods

Hackathon

As in previous years, we will be running a hackathon at the summer school on the Friday. The idea of a hackathon is to spend focussed time working on a mini-project for a day in a small group (e.g., 3-6 people). Projects are proposed by participants and can be based on something you are currently working on, or an idea that could be reasonably tackled in a day (at least to make some progress). This is a fantastic opportunity to learn from each other ‘by doing’, forge new connections, and even make progress on a project. As part of the registration, you will be asked for your GitHub login. We will add everyone to a Summer School hackathon repository in which people can propose topics ahead of time by posting an issue, enabling discussion and forming groups by responding to the issue. We will have a short session to discuss the summer school arrangements, but our hope is that there will be a sufficient number of projects submitted ahead of time to enable groups to be formed by the Friday. We will send out a reminder to submit project ideas ahead of the summer school.