← Back to Summer School 2025 page


Pre-requisites list

RSE Skills (Monday)

  • Have a working Python 3 installation on your system.
  • Clone the workshop repository in advance of the session: https://github.com/jatkinson1000/rse-skills-workshop
  • An expectation of basic programming skills, the ability to read and follow python code, and an enthusiasm to learn better practices - it is worth emphasising that many of the concepts will map across to other languages with pointers provided.

Explainable data science with Fluid (Monday)

  • Basic familiarity with functional programming and data types
  • If you want to build and run the examples yourself:
    • clone the fluid-article template repo and install the software mentioned in the README
    • complete the yarn install step and ideally verify the installation with yarn bundle and yarn test

Introduction to Git and GitHub for beginners (Monday)

Intermediate Git and GitHub (Monday)

  • Have a working Python 3 installation on your system.
  • Have Git on your system. Installed by default on Linux and most mac systems, see https://github.com/git-guides/install-git for details.
  • Basic programming skills, namely the ability to read Python code.
  • Familiarity with basic git commands (namely: clone, add, commit, push, pull) is assumed, with a brief recap in the session.

Introduction to High Performance Computing (Monday, Tuesday)

AI for Software Engineering (Tuesday)

Differentiable programming (Tuesday, Wednesday)

  • Undergraduate level knowledge of linear algebra and calculus.
  • Basic knowledge of Python and Fortran.
  • A GitHub account (for access to Codespaces).

Debugging (Tuesday)

Background knowledge

  • Unix command line (things like cding, running the make command and running binaries like this ./myprogram.exe)
  • Basic experience with a compiled language (C/C++/Fortran or Rust)
  • No prior knowledge of debuggers is assumed
  • (optional) Experience with MPI programs

Software

  • (optional but recommended) install VS Code
  • If you do not have VS Code, you will need a browser (Firefox/Chrome have been tested)

AI for Software Engineering (Tuesday)

Practical Machine Learning with PyTorch (Wednesday, Thursday)

  • The materials can be found along with a detailed description of prerequisites here.
  • Important: On the day there will be two options to explore the material. To avoid any setup complications, choose to either:
    • Clone and install the repo locally ahead of time.
    • Be ready with a Google account to use Google Colab.
  • To get the most out of the session it would be helpful to review:
    • Python3 (numpy, pandas, matplotlib)
    • Maths (calculus, matrix algebra, regression)
    • Neural networks: See YouTube series by 3blue1brown, chapters 1-3.

Observation System Simulation Experiences: how to use ML for optimal sampling strategy (Wednesday)

Introduction to Julia (Wednesday)

Testing and correctness (Thursday)

The concepts discussed in this course can be applied to almost any programming language, however we will use Python as a vehicle for specific examples and exercises. Therefore having at least a basic knowledge of Python will be useful as well as a working Python 3 installation on your system. Follow the instructions on the workshop material GitHub to get setup with the examples.

FTorch (Thursday)

  • A GitHub account (for access to Codespaces).
  • Some previous experience with PyTorch and machine learning is useful but not essential.
  • Previous exposure to Fortran or a similar compiled language is useful but not essential.

Random Forests and Decision Trees (Thursday)

Undergraduate level knowledge of linear algebra and calculus.

  • Have a working Python 3 installation on their system.
  • Download and install the scikit-learn library

Second session:

  • First session strict prerequisite.
  • Practical Machine Learning with PyTorch session