Software Carpentry at CERN

Europe/Zurich
Description

HEP Software Foundation, HSF Logo IRIS-HEP Logo

We are very excited to announce the Software Carpentry Workshop at CERN, organised through the HEP Software Foundation

Over three days we will cover the fundamentals of:
Unix (e.g. shell, bash and scripting);
Git and Github – how to version control your code
Python – fundamentals of using the Python language
Jupyter Notebooks and SWAN
Python for analysis – how to combine Python with ROOT to start analysing data (i.e. pyroot and uproot)

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 first two days are covered by The Carpentries. The third day will be taught by tutors expert in HEP software. 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.

The training is in-person at CERN. Given the limited number of participants, all participants are expected to attend the whole workshop.

No payment is required for attending this event. Accommodation, travel and subsistence is expected to be arranged by the participant. Participants are required to have their own laptop for the workshop and an account on lxplus.


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

Notes for Participants

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

Have a look at the bottom part of this page this page for window/Mac/linux instructions for installing these tools on your laptop. 

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.

The Bash Shell

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

Git

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

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.6 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).

Support: This event is supported in part by National Science Foundation grants OAC-1829707 and OAC-1829729 (FIRST-HEP), Cooperative Agreement OAC-1836650 (IRIS-HEP) and The Carpentries.

 

 

 

 

Participants
  • Aamir Irshad
  • Abhishikth Mallampalli
  • Alessandro Da Rold
  • Amy Tee
  • Andrea Polesel
  • Andria Arisal
  • Arif Bayirli
  • Berna Uzun
  • Caio Costa
  • Candice Basson
  • Chiara Rizzi
  • Daria Selivanova
  • Deshitha Dhammage
  • Dmitrii Ilin
  • Eliott Philippe Johnson
  • Elisa Fontanesi
  • Elizabeth Locci
  • Elizabeth Rose Starling
  • Enrico Scomparin
  • Federico Celli
  • Foteini Eirini Koromanidi
  • Georg Auzinger
  • Georgios Melachroinos
  • Gilbert Badaro
  • Ishan Darshana Ran Muthugalalage
  • Jaime Leon Holgado
  • James Philip Iddon
  • Jihye Jeong
  • Jonas Wurzinger
  • Julia-Suzana Dancu
  • Kalpanie Madara Liyanage
  • Kathryn Wendy Coldham
  • Kaur Sandeep
  • Lindung Parningotan Manik
  • Lisa Borgonovi
  • Livio Bianchi
  • Lourdes Urda
  • Michele Veronesi
  • Nazar Burmasov
  • Neofytos Themistokleous
  • Ozgun Kara
  • Patrick Sieberer
  • Raisa Tolochek
  • Renato Santana
  • Roberta Arnaldi
  • Rui Vizinho De Oliveira
  • Sadhana Verma
  • Saliha Bashir
  • Saul Anibal Rodriguez Ramirez
  • Shahzad Ali
  • Sharad Agarwal
  • Sofiia Forostenko
  • Swivano Agmal
  • Syam Budi Iryanto
  • Thomas Michael Carter
  • Tulin Mete
  • Uliana Dmitrieva
  • Wenjing Deng
    • 9:00 AM 9:20 AM
      Introduction 30/7-018 - Kjell Johnsen Auditorium (CERN)

      30/7-018 - Kjell Johnsen Auditorium

      CERN

      5
      Show room on map
    • 9:20 AM 1:00 PM
      Unix 30/7-018 - Kjell Johnsen Auditorium (CERN)

      30/7-018 - Kjell Johnsen Auditorium

      CERN

      5
      Show room on map

      This lesson guides you through the basics of file systems and the shell.

      Convener: Toby Hodges (EMBL Bio-IT (UK))
      • 10:45 AM
        Break 20m
    • 1:00 PM 2:00 PM
      Lunch 1h
    • 2:00 PM 6:00 PM
      Python: Python I 30/7-018 - Kjell Johnsen Auditorium (CERN)

      30/7-018 - Kjell Johnsen Auditorium

      CERN

      5
      Show room on map

      The best way to learn how to program is to do something useful, so this introduction to Python is built an example of data analysis.

      Convener: Renato Alves (Heidelberg (EMBL))
    • 9:00 AM 1:00 PM
      Git 30/7-018 - Kjell Johnsen Auditorium (CERN)

      30/7-018 - Kjell Johnsen Auditorium

      CERN

      5
      Show room on map

      In this lesson we use Git from the Unix Shell.

      Convener: Tony Hodges ( EMBL Bio-IT (UK))
    • 1:00 PM 2:00 PM
      Lunch 1h
    • 2:00 PM 4:30 PM
      Python: Python II 31/3-004 - IT Amphitheatre (CERN)

      31/3-004 - IT Amphitheatre

      CERN

      15
      Show room on map

      The best way to learn how to program is to do something useful, so this introduction to Python is built an example of data analysis.

      Convener: Renato Alves (Heidelberg (EMBL))
    • 4:30 PM 6:00 PM
      Python: Unit tests and CI 31/3-004 - IT Amphitheatre (CERN)

      31/3-004 - IT Amphitheatre

      CERN

      15
      Show room on map

      The best way to learn how to program is to do something useful, so this introduction to Python is built an example of data analysis.

      Convener: Renato Alves (Heidelberg (EMBL))
    • 9:00 AM 9:45 AM
      Python for analysis: Jupyter notebooks and SWAN 222/R-001 (CERN)

      222/R-001

      CERN

      41
      Show room on map

      In this session we focus on using python in HEP in conjunction with ROOT for data analysis

      Convener: Oksana Shadura (University of Nebraska Lincoln (US))
    • 9:45 AM 10:00 AM
      Break 15m
    • 10:00 AM 11:00 AM
      Python for analysis: PyRoot 222/R-001 (CERN)

      222/R-001

      CERN

      41
      Show room on map

      In this session we focus on using python in HEP in conjunction with ROOT for data analysis

      Convener: Oksana Shadura (University of Nebraska Lincoln (US))
    • 11:00 AM 11:20 AM
      Coffee Break 20m
    • 11:20 AM 12:45 PM
      Python for analysis: RDataFrames and Analysis 222/R-001 (CERN)

      222/R-001

      CERN

      41
      Show room on map

      In this session we focus on using python in HEP in conjunction with ROOT for data analysis

      Convener: Oksana Shadura (University of Nebraska Lincoln (US))
    • 12:45 PM 2:00 PM
      Lunch 1h 15m
    • 2:00 PM 3:30 PM
      Python for analysis: ROOT in Python 30/7-018 - Kjell Johnsen Auditorium (CERN)

      30/7-018 - Kjell Johnsen Auditorium

      CERN

      5
      Show room on map

      In this session we focus on using python in HEP in conjunction with ROOT for data analysis

      Convener: Mason Proffitt (University of Washington (US))
    • 3:30 PM 3:50 PM
      Coffee Break 20m
    • 3:50 PM 5:00 PM
      Python for analysis: ROOT in Python 30/7-018 - Kjell Johnsen Auditorium (CERN)

      30/7-018 - Kjell Johnsen Auditorium

      CERN

      5
      Show room on map

      In this session we focus on using python in HEP in conjunction with ROOT for data analysis

      Convener: Mason Proffitt (University of Washington (US))