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.
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.
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) |
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) |