Intermediate Research Software Development in Python for UKAEA



Jan 25-26 and Feb 1-2, 2022

12:45 pm - 4:30 pm (UTC+0)

Instructors: Matthew Bluteau

Helpers: Kristian Zarebski, Sam Mason, John Nonweiler

General Information

Where: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: Jan 25-26 and Feb 1-2, 2022. Calendar invites will be sent to all participants.

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.). They should have a few specific software packages installed (listed below). UKAEA-managed Windows machines have restricted permissions but should be able to install the requisite software. Please see instructions below for further details.

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Contact: Please email for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.

Code of Conduct

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.


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

First off, please check the “Setup” page of the lesson site for instructions to follow to obtain the software and data you will need to follow the lesson.

Some notes for UKAEA Windows users

A note about IDEs

The course recommends and provides instructions for using PyCharm as an Integrated Development Environment (IDE). However, because this is an intermediate-level course, we expect that a number of participants will already have some experience using an IDE or comparable advanced code editor (e.g. Vim, Emacs). You are welcome to use your editor of choice for the course if you are confident that you can achieve similar functionality that is described for PyCharm, but be warned that we are unlikely to be able to support you if something goes wrong. At least two of the instructors/helpers use VSCode, so we will be able to support you if you choose that IDE. Regardless of your decision, we recommend that you still install PyCharm as a fallback. What your IDE setup needs to achieve:

Install the videoconferencing client

If you haven't used Zoom before, go to the official website to download and install the Zoom client for your computer.

Set up your workspace

Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal, RStudio, your web browser, etc..) and the window for the Zoom video conference client open. In order to see both at once, we recommend using one of the following set up options:

This blog post includes detailed information on how to set up your screen to follow along during the workshop.

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.

Collaborative Notes

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


There is a pre-workshop survey to be completed before the workshop starts to help us judge the experience level of participants. There will then be a daily post-session survey to collect your feedback about how the session went.

Pre-workshop Survey

Daily Post-session Survey


Day 1 (25 Jan)

Before starting Pre-workshop Survey
12:30 Setup and installation check
13:00 Introduction and Setting the Scene
13:15 Section 1: Setting Up Environment For Collaborative Code Development
16:30 Section 1 End. End of Session. Daily Post-session Survey

Day 2 (26 Jan)

12:45 Connect and check in
13:00 Section 2: Ensuring Correctness of Software at Scale (Testing)
16:00 Section 2 End. Buffer for any overflow or catching up. Daily Post-session Survey
16:30 End of Session

Day 3 (1 Feb)

12:45 Connect and check in
13:00 Section 3: Software Architecture and Design
16:15 Section 3 End. Buffer for any overflow or catching up. Daily Post-session Survey
16:30 End of Session

Day 4 (2 Feb)

12:45 Connect and check in
13:00 Section 4: Improving and Managing Software Over its Lifetime
15:35 Wrap up and buffer time. Daily Post-session Survey.
16:00 End of Workshop

This workshop is teaching a lesson in The Carpentries Incubator. Please check the lesson homepage for a more detailed list of lesson sections and estimated timings.