Skip to main content

Introduction to Unix and programming

This course aims to teach the skills and knowledge necessary to provide a solid foundation for the development of research software

About the course

This course will provide an introduction to programming in Python, version control and introduce how to test your code to validate that it behaves as expected.

The only pre-requisite is some familiarity with the linux command line. An ‘Introduction to Linux’ workshop is offered for those who wish to recap on Linux or build on existing understanding.

This course is part of a series of training that is being developed for researchers at Bath. Please get in touch with any feedback to either the Doctoral College or to the Research Software Engineering Group.

This course will follow material based on Software Carpentry lessons.


Introduction to Linux
Introduction to the Unix shell, the University’s linux service. By the end of the session attendees will understand how to navigate and use simple commands to open, print and locate files and find out how to use programs.
24 April || 09:00-12:30
Book a place

Introduction to programming in Python
Python is an excellent language for learning to programme. It is supported by powerful standardised libraries that allow developers to quickly write functional code. In these two sessions attendees will learn about variables, reading and writing from files as well as use conditional statements, loops and functions.
Part 1
24 April || 14:00 - 17:30
Book a place
Part 2
25 April || 09:00 - 12:30
Book a place

Version control with Git
Version control is essential for effective software development, collaborations on articles or proposals and is increasingly used to manage data and analysis workflows. This session will introduce git, show how to set up and update a repository as well as setup online repositories and collaborations.
25 April || 14:00 - 17:30
Book a place

Validating your code
Validating the behaviour of your code is essential to demonstrate that programs work as expected, when they are first created and as functionality is added or implementation changed. This session will introduce the intuitive approach taken in Python. By the end of the session attendees will learn that testing need not be a costly overhead but it is rather a methodology that helps to improve the quality and sustainability of software.
26 April || 09:00 - 12:30
Book a place

Now code
These sessions provide an opportunity to practise your programming with exercises designed to bring together aspects of the introductory courses.
2 May || 09:00 - 12:30
Book a place
10 May || 09:00 - 12:30
Book a place


If you have any questions, please contact us.