31st December
09:00-17:00
Instructors: Pip Grylls, Steve Crouch, James Graham
Helpers: Ed Parkinson, Sam Mangham
Where: Online. Get directions with OpenStreetMap or Google Maps.
When: 31st December.
Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).
Accessibility: We are committed to making this workshop accessible to everybody. For workshops at a physical location, the workshop organizers have checked that:
Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.
Contact: Please email or team@carpentries.org for more information.
Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.
Please be sure to complete these surveys before and after the workshop.
| 09:00 | Registration, questions, and technical help |
| 09:30 | Teaching |
| 10:45 | Break |
| 11:00 | Teaching |
| 12:15 | Wrap Up |
| 12:30 | Finish |
| 13:00 | Registration, questions, and technical help |
| 13:30 | Teaching |
| 14:45 | Break |
| 15:00 | Teaching |
| 16:15 | Wrap Up |
| 16:30 | Finish |
| 09:00 | Registration, questions, and technical help |
| 09:30 | Teaching |
| 10:45 | Break |
| 11:00 | Teaching |
| 12:15 | Wrap Up |
| 12:30 | Finish |
| 13:00 | Registration, questions, and technical help |
| 13:30 | Teaching |
| 14:45 | Break |
| 15:00 | Teaching |
| 16:15 | Wrap Up |
| 16:30 | Finish |
To participate in this training workshop, you will need access to software as described below. In addition, you will need an up-to-date web browser.
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.
A text editor is the piece of software you use to view and write code. If you have a preferred text editor, please use it. Suggestions for text editors are, Notepad++ (Windows), TextEdit (macOS), Gedit (GNU/Linux), GNU Nano, Vim. Alternatively, there are IDE’s (integrated developer environments) that have more features specifically for coding such as VS Code; there are also IDEs specific to languages will be listed in the appropriate section(s) below.
You need to download some files to follow this lesson. First, you need to open a terminal:
Once you’ve done this, a window should appear. Type the following into the prompt that appears (pressing enter/return after each line):
$ cd
$ git clone https://github.com/Southampton-RSG/shell-novice.git
Alternatively, if you have SSH authentication with GitHub enabled (if you don’t know what this means don’t worry, it is covered in the Git SWC course if you want to know more!) you can use the following:
$ cd
$ git clone git@github.com:Southampton-RSG/swc-shell-novice.git
This should download all the content for the lesson to a new directory. Please let the instructors know if you run into any problems.
The slides to accompany this material can be found here. Before we get started, we’ll have to do a few things.

Later on in the session, we’ll be demonstrating how to share work with collaborators using GitHub. You’ll need to create an account there: https://github.com/.
As your GitHub user name will appear in the URLs of your projects there, it’s best to use a short, clear version of your name if you can.
In addition we will need to set up SSH access to GitHub from your computer. This is how GitHub checks that you are who you say you are when you try to add things from your computer.
When we do this, we generate a pair of keys - one public, one private. We want to add the public key to GitHub, whilst the private one stays on our computer.
There are full guides here https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent and https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.
However today we have simplified it like so:
First we need to create a variable to store your GitHub email. Copy this command, substituting the email you signed up to GitHub with for your_github_email@example.com:
$ my_gh_email=your_github_email@example.com
Then we can run the following command to generate a key-pair and display the public half:
$ ssh-keygen -t ed25519 -C $my_gh_email; eval "$(ssh-agent -s)"; ssh-add ~/.ssh/id_ed25519; cat ~/.ssh/id_ed25519.pub
You will need to press enter a few times to select default options and set the passphrase to empty.
Copy the last output line that starts with ssh-ed25519 and ends with your email (it may have gone over multiple lines if your terminal isn’t wide enough).

Finally, go to https://github.com/settings/ssh/new (you will need to be logged into GitHub with the account you have created). Give the key a memorable name (the name of the computer you are working on is often a good choice) and paste the key from your clipboard into the box labelled key. Then, click add SSH key and you are done!

Now we are ready to download the code that we need for this lesson, using Git on the command line. Open a terminal on your machine, and enter:
$ cd
$ git clone https://github.com/Southampton-RSG/swc-git-novice
cd will move to your home directory, and git clone will download a copy of the materials.
Once you’re all set up, we can start the course.
IDEs: PyCharm, Spyder, VS Code
We use Python 3, because it is generally the most widely used version of Python. The “Anaconda3” package provides everything Python-related you will need for the workshop. To install Anaconda, follow the instructions below.
Download the latest Anaconda Windows installer. Double click the installer and follow the instructions. When asked “Add Anaconda to my PATH environment variable”, answer “yes”. After it’s finished, close and reopen any open terminals to reload the updated PATH and allow the installed Python to be found.
Download the latest Anaconda Mac OS X installer. Double click the .pkg file and follow the instructions.
Download the latest Anaconda Linux Installer. Install via the terminal like this,
$ bash Anaconda3-2021.11-Linux-x86_64.sh
Answer ‘yes’ to allow the installer to initialize Anaconda3 in your .bashrc.
Before we get started, there are a few requirements to meet. You will need:
climate-analysisIf you do not have a climate-analysis repository, you can create an empty one now. No specific contents are required for this lesson.
Once you’re all set up, we can start the course. The slides for this course can be found here.