Training Courses

We have a wide range of courses to suit many different research applications. We have categorised our lessons into a few groups.

Coding: In these courses, we focus on writing code for a variety of applications. Our novice courses are suitable for those who have never used a coding language before, we introduce basic programming concepts, data manipulation techniques, and simple data plotting. Our intermediate course details the use of an integrated development environment, programming paradigms, and software reuse.

Computational Proficiency: In these courses, we train you to use your computer like a pro. We will show you the tools that let you do things more efficiently though automation and scripting.

Software Development: These courses teach the skills needed to develop software in an academic environment. They include version control and project management.

Data ‘wrangling’: We show the graphical programs that you can use for managing data. In spreadsheets, we show you how to make sure your data is clean, structured, and ready for reuse. In Openrefine we show you how to manage data that isn’t perfect, get it sorted, and prep it for analysis.


Coding

Python (Novice)

Learning Objectives: Learn the basics of the Python programming language. Learn how to document and add comments to Python code to make it sustainable and user-friendly. Use Python libraries to access the massive amount of tools available from the Python community. Learn the basics of making graphs using MatPlotLib.

Prerequisites: None

Length: Two Half Days

Python (Intermediate)

Learning Objectives: Set up and use a suitable development environment (IDE) to develop software effectively, learn and apply programming paradigms and design techniques, use a test framework to automate the verification of correct behaviour of code, and prepare and release your software for reuse by others.

Prerequisites: Python (Novice), Shell (Novice)

Length: Three Half Days

R (Novice)

Learning Objectives: Learn the basics of the R programming language. Learn how to document and comment R code to make it sustainable and user-friendly. Use Tidyverse libraries to access the powerful tools available for data manipulation in R. Learn how to create engaging and diverse graphs using ggplot2.

Prerequisites: None

Length: Three Half Days


Computational Proficiency

Bash (Novice)

Learning Objectives: Learn the basic concepts of using a text-based interface with a computer. Use the shell to run basic productivity commands and then chain these commands to perform more complicated actions. Use loops to automate time-consuming tasks such as processing or moving large numbers of individual data files. Use the powerful search features to find text in files.

Prerequisites: None

Length: One Half Day


Software Development

Git (Novice)

Learning Objectives: Track the changes you make to files to be able to more effectively recover from mistakes. Track changes made by a team to be able to work more effectively in collaboration.

Prerequisites: None

Length: One Half Day

Software Project Management (Novice)

Learning Objectives: Developing academic software is a complex process. This workshop teaches the basics of managing project development and release, using the project management tools on the repository hosting site GitHub.

Prerequisites: Git (Novice)

Length: One Half Day

Collaborative Software Project Management (Intermediate)

Learning Objectives: Learn how to manage and improve your software by thinking about the software’s lifecycle and responding to feedback. Open your software to collaboration using GitHub to receive and action feedback using an agile approach. Learn how to manage diverged codebases using branch pull requests and merges.

Prerequisites: Git (Novice), Software Project Management (Novice)

Length: Two Half Days


Data ‘Wrangling’

Spreadsheets

Learning Objectives: Learn the basic principles for using spreadsheets including; common mistakes and how to avoid them, storing and handling dates in spreadsheets, validating data on input and, exporting data from spreadsheets.

Prerequisites: None

Length: One Half Day

Openrefine

Learning Objectives: This lesson will teach you how to use OpenRefine. Learning objectives include cleaning and formatting data, filtering and sorting data, and tracking the changes you make to automatically document the data cleaning process.

Prerequisites: None

Length: One Half Day