# Version History
**2022**
People have reported to me that this tutorial is being more widely used
outside of Nevis. Considering all the resources that CERN and other
institutions have put into their own ROOT tutorials, this is quite a
compliment! In recognition of this, I've tried to make the ROOT setup
information and installation information
less Nevis-centric.
I've added some material about directories in the "Introduction to
Linux" section. This is in response to my (perhaps false or biased)
impression that an increasing number of students have no background in
using the command line on their laptops; they're accustomed to their
GUIs and saving all their files on the desktop.
On the advice of Prof. Schellman of Oregon State University, I added a
few paragraphs on Poisson distributions to the section on statistics.
The biggest change to the tutorial for 2022 was also due to an idea
from Prof. Schellman: In prior years, the tutorial was a PDF file
generated from a Microsoft Word document. It is now maintained using
the [Sphinx documentation management
system](https://www.sphinx-doc.org/) and written in a combination of
[MyST](https://myst-parser.readthedocs.io/en/latest/sphinx/intro.html)
and
[reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html),
both of which are variants of
[Markdown](https://www.markdownguide.org/basic-syntax/). This
enables the main web-based presentation of the tutorial, with a
simultaneous release of a supplementary PDF version.
I added expansions of the three additional talks that I give during the ROOT
tutorial (on statistics, speeding up code, and batch systems). These are now
available in an appendix.
**2021**
This year I had some extra time to teach the tutorial. I asked for
suggestions from the working groups at Nevis for additional topics. One
of them was to teach the students some common concepts that physicists
use in statistics. The result was longer than I'd like, since statistics
is a big topic that's worthy of its own courses and texts. This doesn't
have much to do with ROOT, so I created a new section on the topic.
**2020**
I sincerely hope that by the time you read this, the impact of the 2020
pandemic will have faded into irrelevance. There could be no organized
summer student program at Nevis that year, and certainly no in-person
ROOT tutorial. However, I decided to update the tutorial anyway.
The primary changes were to the intermediate topics:
- I moved more optional material into this section, so it would be less
distracting for those going through the tutorial page-by-page, but
still be available as a reference.
- I offered more detailed options for installing ROOT and Jupyter on
your laptop.
**2019**
Included a new "intermediate topics" section, to act as a reference
for useful material that the students may not immediately need for
summer research.
**2017**
We now have a Jupyterhub-based notebook installation available to Nevis
students. I've incorporated this into the lessons. It's now a six-part
course, but the part introducing notebooks is quite short.
**2016**
I've edited the Python portion to use IPython instead of the "vanilla"
Python console.
The ROOT web site has changed, and its class documentation is now even
worse than it was before. (Yay!) I've done my best to revise this course
for those changes.
**2015**
Many changes in response to feedback from the working groups:
- Upgrade to ROOT 6, which affected the exercises and examples for
Part Four and Five.
- The TreeViewer is back in the course.
- A few more "this is what it should look like" figures added (along
with more xkcd cartoons).
- Most of the working groups now have their students use Python for
their summer work.
- The C++ portion on creating a code skeleton for reading an n-tuple
now uses the newer MakeSelector method instead of the older
MakeClass method.
**2014**
At the request of some of the experimental groups, I added a parallel
track in pyroot, the Python wrapper around ROOT. The student can choose
to learn ROOT/C++, pyroot, or both. This increased the size of the
tutorial to five parts, but up to three of these parts are optional.
**2010**
In response to student feedback, what had been one full day of work was
split into two half-day classes. Instead of eliminating the advanced
exercises, I divided the two days of the 2009 class into four parts,
each part roughly corresponding to a half-day's work. This allows each
student to set their own pace and gives experienced programmers a
challenge if they need it.
**2009**
I was asked to expand the class to two full days. In past years, many
students weren't able to complete all the exercises that were intended
to be done in a single day. I added a set of advanced exercises for
students who knew enough C++ to get through the original material
quickly, but allowed for the rest of the students to do in two days what
earlier classes had been asked to do in one.
:::{figure-md} tech_support_cheat_sheet-fig
:align: center
by Randall Munroe. Your reward for reaching the end of the very last page is to learn what I do most of the day.
:::