Software Training 2024

Researcher Development & Research Culture Team is working closely with the Coding for Reproducible Research initiative to deliver a series of online and in-person workshops focused on supporting research staff to develop and expand their computing skills. The programme covers training relating to good practise and reproducible working methods that is designed to be agnostic of programming language. In this way we offer a holistic perspective as to how programming tasks should be approached, ultimately providing researchers with the tools and knowledge to feel confident in what they are doing.  

Registration for all courses set out below is via individual MS Forms and the link can be located under each drop-down accordion below. Note you will need to submit the form for each course you wish to register for. Registration will close one week before the first scheduled session, or sooner if the course is oversubscribed. We allocate places based on a first-come-first-served basis so are trialling a new allocations process to confirm workshop places on a rolling basis. This will be kept under review.

All in-person courses are currently scheduled to be held on Streatham Campus. 

You can find full details of all courses together with how to register, by going to the accordions below:-

Summary of courses:-

Regression Analysis in R - Adapting to Varied Data Types
13 January 2025 (1 pm - 4 pm)
Registration closes : 6 January 2025.

Introduction to Python (2-part course)
17 & 24 January 2025 (both 10 am - 1 pm)
Registration closes : 10 January 2025.

Computational Thinking (2-part course)
28 January 2025 & 4 February 2025 (10 am - 1 pm)
Registration closes : 21 January 2025.

Introduction to Unix (2-part course)
5 & 12 February 2025 (1 pm - 4 pm)
Registration closes : 29 January 2025.

Python for Data Analysis (2-part course)
6 & 13 February 2025 (1 pm - 4 pm)
Registration closes : 30 January 2025.

Introduction to R (3-part course)
25 February, 4 & 11 March 2025 (all 10 am - 1 pm)
Registration closes :  18 February 2025.

Introduction to Version Control (2-part course)
28 February 2025 & 7 March 2025 (10 am - 1 pm)
Registration closes : 21 February 2025.

Regression Analysis with R
25 October 2024 (10 am - 1 pm)
Registration now closed.

Working with Data in R (2-part course)
18 & 25 November 2024 (1 pm - 4 pm)
Registration now closed.

Software Development Best Practice (2-part course)
4 & 11 December 2024 (10 am - 12 noon)
Registration now closed.

Introduction to MATLAB (2-part course)
13 & 20 June 2024 (both 1 pm - 4 pm)
Registration now closed.

Parallel Computing (2-part course)
7 & 14 June 2024 (10 am - 1 pm)
Registration now closed.

Introduction to HPC & ISCA (2-part course)
7 & 14 May 2024 (10 am - 1 pm)
Registration now closed.

Intermediate Version Control (2-part course)
3 & 10 May 2024 (10 am - 12 noon)
Registration now closed.

Introduction to Julia (3-part course)
24 November, 1 & 5 December 2023 (10.30 am 12.30 pm)
Registration now closed.

 

Regression in R - adapting to varied data types - ONLINE

Date : 13 January 2025 (1 pm - 4 pm). 

Registration: closes 6 January 2025

Please register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration closes : 6 January 2025.

About this Course:

Regression analysis is a fundamental statistical technique used to model the relationship between multiple variables. It is a very flexible tool that can handle a range of different data types (continuous, binary or categorical) and address both complex and simple research questions. In this hands-on workshop participants will build on their understanding of simple linear regression and learn how to fit a broader range of regression models with R, including logistic regression.

Learning outcomes: 

By the end of the course you will:

  • Understand what a generalised linear model is.
  • Fit logistic regression models with.
  • Select the appropriate regression model for either a continuous or binary outcome.
  • Include a range of different types of predictor variables in regression models.
  • Interpret the coefficients of a regression model.

Who should attend this course:

Participants are expected to already be familiar with the basics of R, such as how to load a dataset from a local file and manipulate variables.  We also assume participants are comfortable with fitting simple linear regression models in R and interpreting the output of these. If not, we recommend that consulting the previous course in this series - Introduction to Regression with R.

Presenters:

Robin Beaumont.

Before the course:

Participants will use their own laptops.  R and Rstudio will need to be installed prior to the start of the workshop (detailed installation instructions will be available on the course website).  Participants are expected to already be familiar with the basics of R, such as how to load a dataset from a local file and manipulate variables.

 

Introduction to Python - IN-PERSON - Streatham Campus, Old Library.

Dates (2 part course) : 17 & 24 January 2025 (both 10 am - 1 pm).  You are expected to attend both sessions. 

Please register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis and you will be asked to re-confirm your availability to attend. 

Registration closes : 10 January 2025.

About this Course:

Over two sessions learn the fundamentals of Python one of the most popular programming languages and be introduced to a variety of applications.

Learning outcomes: 

By the end of the course you will:

  • understand and declare the basic data types in Python;
  • understand the basic principles of control flow and for loops;
  • describe what a function is and define one that takes user-specified parameters;
  • perform simple analysis and visualisation of a table of data;
  • recognise concepts in other programming languages.

Who should attend this course:

This IN-PERSON course is aimed at those with little or no prior experience of programming, who want to learn Python.

Before the course:

Participants will need to bring their own laptops. Installation instructions will be available on the course website.

Computational Thinking - IN-PERSON - Streatham Campus, Old Library.

Dates (2 part course) : 28 January 2025 & 4 February 2025 (both 10 am - 1 pm).  You are expected to attend both sessions. 

Registration:
Please register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration closes : 21 January 2025.

About this Course:

Being an effective programmer is not just about writing code, it's about designing solutions to problems in a way that a computer would understand.  Over two sessions, you will learn to deconstruct complex problems and develop and verify solutions.  We will explore strategies used by computer scientists to simplify problems without losing essential details.  This is enable you to write, develop and debug your code more effectively.

Learning outcomes: 

By the end of the course you will:

  • Describe what an algorithm is and the role it plays in coding.
  • Understand and be able to apply a number of computational thinking approaches including pattern recognition, decomposition, abstraction algorithms.
  • Explore the application of these concepts in algorithm design, prototyping and debugging.
  • Differentiate between bugs related to syntax from those related to the underlying algorithm to facilitate more effective troubleshooting.

Who should attend this course:

Anyone from beginner through to more experienced practitioner, who uses programming (any language) in their research and would like to approach the task.

Before the course:

Participants will need to bring their own laptops. Installation instructions will be available on the course website.

Introduction to Unix - IN-PERSON - Penryn Campus.

Dates (2 part course) : 5 & 12 February 2025 (both 1 pm - 4 pm).  You are expected to attend both sessions. 

Registration: 

Please Register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration will close on  : 29 January 2025 (or before if over subscribed).

About this Course:

Over two sessions, this in-person only course on the Penryn Campus will introduce you to navigating the file system and show you how to carry out basic operations on the Unix systems using the shell (also referred to as the command line).

Learning outcomes: 

By the end of the course you will:

  • Describe what the shell is and how do you access it;
  • Navigate around the unix filesystem;
  • Inspect and manipulate files;
  • Automate tasks via scripts;
  • Run programmes outside of IDEs and notebooks.

Who should attend this course:

Anyone with no or little experience of the command line looking to learn the essentials.

Before the course:

Participants will need to bring their own laptops and have access to a shell terminal. Installation instructions will be available on the course website. Participants will be directed to a course webpage where they can find installation instructions and more details.

Python for Data Analysis - Online

Dates (2 part course) : 6 & 13 February 2025 (both 1 pm - 4 pm).  You are expected to attend both sessions. 

Please Register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration closes : 30 January 2025.

About this Course:

As researchers, we use Python for all manner of data analysis tasks, including modelling, simulation, and creating engaging visuals for websites and publications. This in-person course will explore language features used in data analysis, the use of libraries such as Numpy and Pandas, tools to improve code quality such as flake8 and pytest, and tools to help manage larger projects such as venv and poetry.  We will use these features, and many more, to design and implement reproducible data pipelines.

Learning outcomes: 

By the end of the course you will:

  • Show you how, and when, to use more advanced Python features;
  • Introduce tools to check, test, and improve the quality of your code;
  • Explore the design of reproducible data analysis pipelines, including loading, manipulating, and transforming data;
  • Create visualizations as charts, and animations.

Who should attend this course:

This workshop is aimed at those with prior knowledge of Python. The course is pitched at those confident with the material in our Introduction to Python course. Participants should be able to run basic Python commands, either in aJupyter Notebook, or in an IDE.

Before the course:

Participants will need to bring their own laptops.  Python will need to be installed prior to the start of the workshop (detailed installation instructions will be available on the course website).

Introduction to R - IN-PERSON - Streatham Campus, Old Library.

Dates (3 part course) : 25 February 2025, 4 & 11 March 2025 (all 10 am - 1 pm).  You are expected to attend all three sessions. 

Registration: 

Please register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration closes : 11 February 2025.

About this Course:

R is a programming language and software environment primarily focused on performing statistics, data analysis and visualisation. This online course will provide an all-purpose introduction to the R programming language and may provide an accessible entry to computer programming in general.

Throughout the workshop learners will be taught using RStudio and introduced to best practises from the beginning including how to document your work in a script. Over three sessions you will learn how to import, manage and process data for statistical analysis and visualisation.  At the end of the workshop the participants will have a solid understanding of how to run R commands and the properties of R objects, providing a solid basis for self-guided learning of more complex analyses.

Learning outcomes: 

By the end of the course you will:

  • Be able to use Rstudio to create scripts and run R based programmes.
  • Understand some fundamental programming terminology and concepts such as variable, function, for loops that is transferable to other programming languages.
  • Understand the different objects for storing data and the importance of different data types.
  • How to read in data, manipulate it and save the output.
  • Be able to perform some basic inferential statistical tests.
  • Be able to visualise data in commonly used figures.

Who should attend this course:

This workshop is aimed at novices and is designed to give attendees a strong foundation from which they can continue to develop their skills. No previous experience of R or programming is required.

Before the course:

Participants will need to bring their own laptops. R and RStudio will need to be installed prior to the start of the workshop (detailed installation instructions will be available on the course website).

 

Introduction to Version Control - ONLINE

Dates (2 part course) : 28 February & 7 March 2025 (both 10 am - 1 pm).  You are expected to attend both sessions. 

Registration:

Please Register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration closes : 21 February 2025.

About this Course:

Version control systems are an incredibly valuable tool for organising software development. They are essential for producing reproducible and transparent research software. This hybrid course will give a thorough introduction to Git, one of the most widely used version control systems in academia and industry. It will also introduce internet platforms such as GitHub which are built on top of Git and designed to facilitate collaboration between software developers and the sharing of code. A key component of the course will be hands-on practice using Git and GitHub, working through theoretical concepts that will be explained with the aid of live demonstrations.  By the end of the course, it is intended that participants will be comfortable using Git and GitHub to keep a record of their day-to-day code development and share their work with others.

Learning outcomes: 

By the end of the course you will:

  • Use Git to manage their software development.
  • Explain what repositories and commits are in Git.
  • Apply standard Git commands as part of their development workflow: cloning, pulling from and pushing to repositories; adding and commiting file changes.
  • Give examples of what should and should not be included in Git repositories.
  • Describe how Git and platforms like GitHub relate to each other and their differences.

Who should attend this course:

Anyone already familiar with programming interested in adding Version Control to their workflow.  Basic familiarity of working at the command line (eg, Bash, Command Prompt, Apple Terminal) is helpful but not essential.  For those with some familiarity with Git who are looking to learn how to collaborate with others using Git and GitHub, the Intermediate Version Control course may be more suitable.

Before the course:

Participants will need to bring their own laptops.  Software will need to be installed prior to the start of the workshop (detailed installation instructions will be available on the course website).

Regression Analysis with R

Date : 25 October 2024 (10 am - 1 pm). 

Registration:

Please Register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration closes : 18 October 2024.

About this Course:

Regression analysis is a fundamental statistical technique used to model the relationship between multiple variables. It is a very flexible tool that can handle a range of different data types (continuous, binary or categorical) and address both complex and simple research questions.  In this hands-on workshop, you will learn how to fit a range of regression models with R, how to interpret the output and the link between regression and other common statistical tools.

Learning outcomes: 

By the end of the course you will:

  • Understand the types of questions regression can be used to answer;
  • Be able to fit a linear regression model with multiple predictor variables;
  • Be able to fit logistic regression model with multiple predictor variables;
  • Be able to extract and summarise the results from a range of regression models;
  • Be able to design a regression model appropriate for addressing their specific research question.

Who should attend this course:

This online workshop is aimed at those with some prior knowledge of R who are currently or planning on using regression models in their research.  Participants are expected to already be familiar with the basics of R, such as how to load a dataset from a local file and manipulate variables.

Presenters:

Robin Beaumont.

Before the course:

Participants will need to bring their own laptops. R and RStudio will need to be installed prior to the start of the workshop (detailed installation instructions will be available on the course website).

Working with Data in R

Dates (2 part course) : 18 & 25 November 2024 (both 1 pm - 4 pm).  You are expected to attend both sessions. 

Registration: 

Please register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration closes : 10 November 2024 (or before if oversubscribed).

About this Course:

Over two sessions learn how to use the Tidyverse to work with data in R. The Tidyverse is a collection of R packages designed to help you manipulate, clean and analyse data. This course will introduce you to the functionality of several key packages, while also discussing some of the conventions that Tidyverse uses when working with data. By the end of the course, participants should feel confident to continue using the Tidyverse to work with their own datasets in R.

Learning outcomes: 

By the end of the course you will:

  • be able to describe the 'tidy' format for data;
  • be able to describe the benefits of using R notebooks for analysis;
  • be able to read tabular data from a file to a dataframe, create new variables, filter, summarise and sorting data in R;
  • be able to reshape data for example by joining multiple datasets together;
  • be able to work with strings and dates.

Who should attend this course:

This course is aimed at those who already have some programming experience with R. It assumes familiarity with things like: creating and setting variables, the basic data structures (dataframes, vectors, lists), using functions, running R code and viewing console output, installing R packages and using R packages in your own code. Experience with R notebooks is not required.

Presenter:

Conor Crilly.

Before the course:

Participants will need to bring their own laptops and have already installed on their computers both R (version 4.3.0 or later) and RStudio (used to work with R notebooks) - both are available from the University's Company Portal software repository.

Software Development Best Practice

Dates (2 part course) : 4 & 11 December 2024 (both 10 am - 12 noon both sessions).  You are expected to attend both sessions. 

Registration closes : 27 November 2024 (or before if over subscribed).

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

About this Course:

Writing code has become an integral part of research irrespective of the field, and it is now more important than ever to consider the ways in which we are working to ensure the reproducibility of our research. This in-person only course on the Streatham Campus, will look at the software development lifecycle with research projects in mind. It will enable participants to explore various topics, such as problem decomposition, data management, version control and testing. Participants will also learn how to collaborate on code effectively, as well as how to make their code useful to others, enabling them to improve their workflow and increase the impact of their research. Throughout this interactive and largely language agnostic course, there will be live demonstrations and plenty of opportunity for discussion.

Learning outcomes: 

On completion of the series of workshops, participants will:

  • Have a high-level understanding of software development for research.
  • Be able to collaborate on code effectively.
  • Be able to improve the reproducibility of their research by understanding how to make their code useful to others.
  • Have the necessary foundations for intermediate level courses that will delve deeper into software development topics.

Who should attend this course:

Anyone, from beginner through to more experienced practitioner, who uses programming (any language) in their research.  No prior knowledge of software development is required, simply a willingness to learn.

Presenters:

Matt Johns.

Before the course:

Participants will need to bring their own laptops.  Installation instructions will be available on the course website, details of which will be circulated beforehand.

Introduction to MATLAB

Dates (2 part course) : 13 & 20 June 2024 (both 1 pm - 4 pm).  You are expected to attend both sessions. 

Registration: 

Please register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes (5 June 2024) and you will be asked to re-confirm your availability to attend. 

We typically find that the places to attend virtually fill up quickly, so if you are able to attend in person, we encourage you to select this option (or at least the flexible option) to increase your chances of getting a place.

Registration closes : 5 June 2024.

About this Course:

MATLAB is a coding language that is very popular in academia and relatively easy to learn. This language is particularly good for analysis involving matrices, but is perhaps better known for its plotting capabilities. In this hybrid course, you can expect to be acquainted with both and be able to apply code to your own research. 

This is an entry-level introduction to programming and is intended for the first-time or beginner-level user who wishes to learn MATLAB. The basics of coding and data analysis are explored, with opportunities to use these principles in realistic tasks. Visualising the data will also be a focus and you will learn how to customise different plots.  

After the course, you should feel confident in your abilities to apply code to your research and present results professionally.

Learning outcomes: 

By the end of the course you will:-

  • Understand how to navigate and use MATLAB for basic usage;
  • Develop an understanding of conditional statements and loops;
  • Be able to confidently apply scripts and functions to data analysis problems;
  • Be able to apply simple data analysis and visualise the results through plots;
  • Recognise how to develop these skills further and notice similarities to other programming language.

Who should attend this course:

This is an entry-level introduction to programming and is intended for the first-time or beginner-level user who wishes to learn MATLAB.

Presenters:

Jake Hollins.

Before the course:

Participants will need to bring their own laptops. 

Parallel Computing

Dates (2-part course) : 7 and 14 June 2024 (both 10 am - 1 pm). You are expected to attend both sessions. 

Registration:

Please Register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

We typically find that the places to attend virtually fill up quickly, so if you are able to attend in person, we encourage you to select this option (or at least the flexible option) to increase your chances of getting a place.

Registration closes : 30 May 2024.

About this Course:

This course gives a high-level overview of some parallel computing paradigms, along with practical examples that will provide an entry point for participants to get started writing code that can make use of parallel architectures.

Learning outcomes: 

By the end of the course you will:

  • be able to write software which can run on multiple-processes using MPI;
  • be able to write code that can run on multiple threads; 
  • be able to identify how a software problem can be broken down and parallelised;
  • have a better understanding of distributed and shared-memory parallelism and how they should be employed.

Who should attend this course:

This course is aimed at people who want to write code that can make use of modern, parallel machines and HPC in order to solve problems that smaller machines cannot.

Presenters:

Ed Hone.

Before the course:

Delegates must be using a computer with a Unix terminal, such as a Linux-based machine, a Mac or a Windows machine with GitBash or WSL installed.  Delegates should also have some familiarity with the Python programming language, such as can be gained from the Introduction to Python course.

Intermediate Version Control

Dates (2 part course) : 21 & 28 May 2024 (both 10 am - 1 pm).  You are expected to attend both sessions. 

Registration:

Please Register via this form
.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

We typically find that the places to attend virtually fill up quickly, so if you are able to attend in person, we encourage you to select this option (or at least the flexible option) to increase your chances of getting a place.

Registration closes : 13 May 2024.

About this Course:

This course will go beyond the basics of version control, highlighting best practices for working collaboratively on software project.

Learning outcomes: 

By the end of the course you will:

  • Learn to use Git and GitHub towork collaboratively on code;
  • Learn to use branches to develop different features independently, including merging changes and resolving conflicts;
  • Understand how – and when – to safely rewrite the version control history and move work between branches;
  • Understand best practices for keeping repositories maintainable;
  • Learn knowledge of available workflows and tooling to manage and organise collaboration.

Who should attend this course:

This hybrid workshop is aimed at those with some prior knowledge of version control.  Participants are expected to already by familar with a basic version control workflow, but the course will be open with a refresher on Git.

Presenters:

Dr Stephen Cook.

Before the course:

Participants will need to bring their own laptops.  Git will need to be installed prior to the start of the workshop (detailed installation instructions will be available on the course website).

Introduction to HPC & ISCA

Dates (2 part course) : 7 & 14 May 2024 (both 10 am - 1 pm).  You are expected to attend both sessions. 

Registration:

Please register via this form.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

We typically find that the places to attend virtually fill up quickly, so if you are able to attend in person, we encourage you to select this option (or at least the flexible option) to increase your chances of getting a place.

About this Course:

A high performance computing (HPC) cluster is an essential tool for computational tasks that are too intensive for a personal computer, for example analysing large datasets or performing high density simulations. This course will introduce ISCA, the University of Exeter’s HPC cluster.  It will teach participants how to design an HPC workflow, interrogate the SLURM scheduling system, and run simple jobs on the cluster. At the end of this interactive course, participants will be able to translate what they have learnt to improve the efficiency of their computational research and run their analyses on ISCA.

Learning outcomes: 

By the end of the course you will:

  • understand what an HPC cluster is and what type of tasks it is suited to;
  • be able to assess what computing resources are necessary to run a large workload;
  • be able to log on to the cluster and navigate around the file system;
  • be able to submit and manage job tasks in the scheduler’s queue;
  • understand the array jobs syntax, to efficiently parallel repetitive tasks.

Who should attend this course?

This hybrid course is aimed at those who plan to use ISCA to perform their computational research or who wish to learn what ISCA could enable them to do. 

Presenters:

Ricky Olivier.

Before the course:

Participants will need to bring their own laptops and have access to a command line terminal. They will need an account on ISCA in advance of the course and require some experience of the command line for example having attended an Intorduction to Unix Course.

Introduction to Julia

Dates (3 part course) : 24 November, 1 & 5 December 2023 (all 10.30 am - 12.30 pm).  You are expected to attend all three sessions. 

Registration for this course has now closed.

Please note that this workshop is IN PERSON only on the Streatham Campus, Digital Humanities.

Completing the above form registers your interest in attending the workshop but does not guarantee you a place on your chosen course. Places will be allocated on a first come first served basis once registration closes and you will be asked to re-confirm your availability to attend. 

Registration closed : 17 November 2023.

About this Course:

This is practical workshop for those new to the Julia programming language, a relatively new language developed especially for scientific computing and scientific analytical workflows.

Learning outcomes: 

By the end of the course you will:

  • Have an appreciation of Julia programming language, what are its strengths, and why it is particularly suited for science.
  • Gain the basics of the Julia programming language, including syntax, core data structures, functions, iteration, broadcasting.
  • Be able to use Plotting with the powerful Makie framework.
  • Have an overview of some of most used packages of the language, including differential equations, dynamical systems, scientific project management, file i/o, distributions and statistics, tabular data analysis, and how to find the packages that are most suitable for a given task.

Who should attend this course:

Beginner level new to Julia programming language however the workshop assumes some programming basics that should be covered by prior exposure to any other programming language.

Presenters:

Fliss Guest.

Before the course:

Participants will need to bring their own laptops.  Installation instructions will be available on the course website, details of which will be circulated beforehand.

Good Practice - details to follow.