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 want to join our efforts and create one introductory software training curriculum that serves HEP newcomers the software skills needed as they enter the field, and in parallel, instill best practices for writing software.
The curriculum is comprised of a set of standardized modules, so that students can focus on what is most relevant to them. More about the style of these modules is written in the guidelines for training material.
|The Unix Shell||Created & Maintained by software carpentries|
|Advanced Shell||E.g. SSH|
|Version controlling with git||Created & Maintained by software carpentries|
|Programming with python||Created & Maintained by software carpentries|
|Build systems: From
|Distributed file systems and grid computing|
|A simple analysis||A simple analysis using CMS open data||Created by S. Wunsch; maintained by HSF|
|Workflows & reproducability||E.g.
|CI/CD||Continous integration and deployment with gitlab||Created by G. Stark; maintained by HSF|
|Event generation and MC||
Contributions of any kind are very welcome! There are various ways you can get involved: