See below for more information about the modules listed here.
Basics
Software Development and Deployment
Software Engineering for Scientific Computing
This course covers various best practices like testing, pytest, object oriented programming, packing, CI, and more.
Start learning now!
Contribute!
C++ corner
Particle physics methods
Learn about ROOT, RooFit, machine learning with TMVA, and physics simulations.
Status: Beta testing
Start learning now!
Contribute!
Analysis preservation
Complete courses
These modules cover a variety of topics.
Software Engineering for Scientific Computing
This course covers various best practices like testing, pytest, object oriented programming, packing, CI, and more.
Start learning now!
Contribute!
Particle physics methods
Learn about ROOT, RooFit, machine learning with TMVA, and physics simulations.
Status: Beta testing
Start learning now!
Contribute!
LHCb Analysis Essentials
From python, shell, and git to reproducible analyses with Snakemake. Written for LHCb, but applicable to everyone.
Start learning now!
Contribute!
Miscellaneous
Planned, in early development, or archived
Training in software and computing are essential ingredients for the success of any HEP experiment. As most experiments have similar basic prerequisites (Unix shell, Python, C++, …) we have joined efforts and created this introductory software training curriculum that teaches HEP newcomers the software skills they need as they enter the field, and in parallel, instills best practices for writing software.
The curriculum is composed of a set of modules (developed by HSF, Software Carpentries, and other organizations), so that learners/students can focus on what is most relevant to them.