- Curriculum
- All Tutorials
Basic
Basic skills for HEP software development.The UNIX Shell
A guide through the basics of the file systems and the shell.
Version controlling with git
Track code changes, undo mistakes, collaborate. This module is a must.
Programming with python
Get started with an incredibly popular programming language.
Machine learning
Get behind the buzzword and teach machines to work for you intelligently!
Software Development and Deployment
Ensure that your code is easy to use and maintain.Version controlling with git
Track code changes, undo mistakes, collaborate. This module is a must.
Advanced git
Learn to work with branches and more with this interactive webpage.
CI/CD (gitlab)
Continuous integration and deployment with gitlab: automatically run unit tests and more for every commit that you push on gitlab.
CI/CD (github)
Continuous integration and deployment with GitHub actions: automatically run unit tests and more for every commit that you push on GitHub.
Singularity
Introduction to containerization with Singularity/Apptainer. Singularity is a containerization tool (similar to Docker) that is particularly useful for HPC environments.
Level up your python
Advanced bits of python (testing, debugging, logging, and more)
Software Engineering for Scientific Computing
This course covers various best practices like testing, pytest, object oriented programming, packing, CI, and more.
C++ corner
Learn C++ for blazingly fast code!Build systems: cmake
Building code is hard. CMake
makes it easier.
HEP specific tools
Workflows and reproducibilityScikit-HEP
A collection of packages for particle physics analyses in Python.
Reproducible analyses with REANA
Run containerised data analysis pipelines on remote compute clouds.
Particle physics methods
Learn about ROOT, RooFit, machine learning with TMVA, and physics simulations.
Data Analysis
Machine learning and other analysis toolsMachine learning
Get behind the buzzword and teach machines to work for you intelligently!
Analysis preservation
Learn how to ensure that your analysis survives the test of time.Version controlling with git
Track code changes, undo mistakes, collaborate. This module is a must.
CI/CD (gitlab)
Continuous integration and deployment with gitlab: automatically run unit tests and more for every commit that you push on gitlab.
CI/CD (github)
Continuous integration and deployment with GitHub actions: automatically run unit tests and more for every commit that you push on GitHub.
Singularity
Introduction to containerization with Singularity/Apptainer. Singularity is a containerization tool (similar to Docker) that is particularly useful for HPC environments.
Reproducible analyses with REANA
Run containerised data analysis pipelines on remote compute clouds.
Complete courses
These modules cover a variety of topicsSoftware Engineering for Scientific Computing
This course covers various best practices like testing, pytest, object oriented programming, packing, CI, and more.
Level up your python
Advanced bits of python (testing, debugging, logging, and more)
Particle physics methods
Learn about ROOT, RooFit, machine learning with TMVA, and physics simulations.
LHCb Analysis Essentials
From python, shell, and git to reproducible analyses with Snakemake. Written for LHCb, but applicable to everyone.