HSF/IRIS-HEP Software Basics Training (Virtual)


HEP Software Foundation, HSF Logo IRIS-HEP Logo

We are very excited to announce a workshop on software basics in HEP organised through the HEP Software Foundation and IRIS-HEP together with Software carpentry.

The times for the workshop are in US Eastern time zone.

Over two days we will cover the fundamentals of: 

Unix (e.g. shell, bash and scripting)  

Git and Github – how to version control your code 
https://mambelli.github.io/git-novice/ (extended version of https://swcarpentry.github.io/git-novice/)

Python – fundamentals of using the Python language 

This training is aimed at those who are new to HEP and want a fast-track to competency with software fundamentals, as well the non-expert self-taught who wish to ensure they do not have gaps in their knowledge.

The training material is covered by The Carpentries. Interactive hands-on sessions  lead by the tutor will be supported by a number of helpers to ensure all participants are able to follow and understand the material.

Given the limited number of participants, all participants are expected to attend the whole workshop.

This is a virtual event and no payment or travel is required for attending.  Participants are required to have their own laptop for the workshop.

Please contact the organizers (email us) in case of any questions.

Notes for Participants

Please log in to indico to see all links in the menu bar on the left.

To participate in  discussions for the workshop we use a slack channel. You should receive a slack invite via email before the workshop. Make sure to join. All software training related communication should be made via slack.

Make sure you complete the setup instruction below BEFORE the event. Should there be any questions, please ask in the Slack channel.

To participate in the workshop, you will need access to the software described below "prerequisites". In addition, you will need an up-to-date web browser.

Please note that the workshop will be recorded and that the videos will be publicly available.


For a video walk-through of the installation process, please visit the indico page of our previous event.

The Bash Shell

Bash is a commonly-used shell that gives you the power to do simple tasks more quickly.


Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on github.com. You will need a supported web browser.

You will need an account at github.com for parts of the Git lesson. Basic GitHub accounts are free. We encourage you to create a GitHub account if you don't have one already. Please consider what personal information you'd like to reveal. For example, you may want to review these instructions for keeping your email address private provided at GitHub.

Text Editor

When you're writing code, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words. The default text editor on macOS and Linux is usually set to Vim, which is not famous for being intuitive. If you accidentally find yourself stuck in it, hit the Esc key, followed by : + q + ! (colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell.


Python is a popular language for research computing, and great for general-purpose programming as well. Installing all of its research packages individually can be a bit difficult, so we recommend Anaconda, an all-in-one installer.

Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.7 is fine).

We will teach Python using the Jupyter notebook, a programming environment that runs in a web browser. For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers are all supported (some older browsers, including Internet Explorer version 9 and below, are not).

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

  • Alexander Moreno (Universidad Antonio Nariño)
  • Richa Sharma (Physics Department, UPRM)
  • Allie Tatarian (Tufts University)
  • Roy Cruz Candelaria (Physics Department, UPRM)
  • Tetiana Mazurets (Physics Department, UPRM)
  • Lera Lukashenko (University of Zurich)
  • Holly Szumila-Vance (Jefferson Lab)

Local organising committee:

  • Sudhir Malik (UPRM)
  • Jim Pivarski (Princeton University)
  • Richa Sharma (UPRM)
  • Alexander Moreno (Universidad Antonio Nariño)
  • Lera Lukashenko (University of Zurich)
  • Holly Szumila-Vance (Jefferson Lab)




Software Carpentry (Virtual)
Zoom Meeting ID
Sudhir Malik
Alternative hosts
Guillermo Antonio Fidalgo Rodriguez, Richa Sharma
Useful links
Join via phone
Zoom URL
Registration Form
  • Angel David Almonacid Diaz
  • Anjana Krishnan
  • Arindam Basu
  • Asmaa Aboulhorma
  • Buddhika Oshadha Uduwaraarachchi
  • Carlos Moreno
  • Chakib ifiss
  • Daniel Felipe Peralta Macca
  • Daniel Soto
  • Dulitha Jayakodige
  • Evander Espinoza
  • Francesca Alemanno
  • Geonwoo Kim
  • Himanshi Yadav
  • Isaac Mesa Gómez
  • Jorge Romeo Araujo
  • Kristen Dobbs
  • Likhitha A
  • Lindsey Hessler
  • Michaela Zabloudil
  • Muhammad Bilal Azam
  • Muhammad Farooq
  • Munkhjargal Lkhagvadorj
  • Nicolás Hernández Beltrán
  • Nilay Bostan
  • Oscar Ivan Valdes Martinez
  • Oscar Moreno Palacios
  • Ricardo Zamora
  • rohit jangid
  • Rosario Lizeth Aldava Asencios
  • Samantha Sunnarborg
  • Samuel Giraldo
  • Sarashowati Dhital
  • Sebastian Reyes Usma
  • Tait Mozuca
  • +45