Institute of Computing for Climate Science Summer School 2025
← 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 withyarn bundle
andyarn test
- clone the fluid-article template repo and install the software mentioned in the
Introduction to Git and GitHub for beginners (Monday)
- Install git on your computer, set up a Github account and the SSH key and MFA. You can follow the steps from here: https://swcarpentry.github.io/git-novice/ as well as https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.
- Detailed setup instructions to prepare before the course can be found on this page in the course repository
- It would be useful for participants to watch this video from a previous summer school before the course.
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)
- Install Cursor
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
cd
ing, running themake
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)
- Install Cursor
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)
- Have a working Python 3 installation on their system
- Ideally download the data in advance of the session: https://zenodo.org/records/12567970.
- Ideally clone the repository in advance of the session: https://github.com/lcimoli/OSSE_pCO2
Introduction to Julia (Wednesday)
- A Julia installation with Pluto.jl. Please following the setup instructions on the material for this session.
- Basic programming skills
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