ARC Lessons

Overview

ARC Lessons are a collection of research software training materials aimed at researchers. The programming lessons are in Python unless otherwise specified and are derived from a number of sources including Software Carpentry and Christopher Woods for use at the University of Bath.

The course list links to a brief description of the course and links to moodle pages for booking a place on the courses (University of Bath students and staff only), or you can go straight to the course material. All of the rendered course material is available freely along with the source. The setup for each course is described for use on notebooks on azure but should work fine e.g. if you are running Jupyter notebooks or python interpreter on your own device.

Courses

Our lessons typically run with instructor lead and self-paced components in three hour workshops. Programmes are run either in blocks combining a number of lessons in two/three days or one afternoon a week over a number of weeks. Demonstrators will be available throughout, questions, discussion and peer learning are encouraged.

The core courses cover getting started using Linux, Python and employing good practices such as using version control (also useful for collaborating and managing data) and testing your code. They aim to help you to work efficiently and give you the confidence to write reusable code and explore the huge range of libraries in the Python ecosystem.

The intermediate courses are for those wanting formalise the structure of their code and start or contribute to collaborative community projects. They can also help you improve the performance of your code, and consider options to optimise long running or numerically intensive functions.

Core Material

Lesson(moodle) Course meterial(source)
Introduction to Linux Course(source)
Introduction to Programming in Python Course(source)
Version Control with git Course(source)
Introduction to Testing Course(source)
Working with Data and Plotting Course(source)
Now Code Course(source)

Intermediate Material

Lesson Course meterial(source)
Functions and Classes in Python Course(source)
Libraries and Modules in Python Course(source)
Collaborating, testing and CI Course(source)
Performant Python Course(source)