Tutors: Research Software Engineers from the Research Computing Service
Course Level: Level 2
Prerequisites: Any introductory (Graduate School) programming class. Knowledge of Python will be particularly relevant.  Basic knowledge of the Linux command line
Course Duration: 2 x 2 hour sessions
Format: Microsoft Teams with live teaching and hands-on practice

This course introduces the version control system Git, an essential tool for tracking and managing software development. Working with Git provides the flexibility to freely make changes to your code and the security to know you can always get back to a working state. You will learn to track the changes you made to your code and when you made them.

Beyond working on your own code, understanding Git allows usage of online code repositories such as GitHub. Using an online repository to publish your code is a great way to disseminate your research and a necessary step to collaborate with others. This course will demonstrate how to publish code to Github and introduce the features that make it a productive collaborative environment. 

Material will be delivered as a mixture of lectures and computational practicals. Workstations will be available so bringing a laptop is not required however attendees are encouraged to do so if they wish to apply the materials from this course in an environment relevant to their work. 


  • An introduction to Git concepts and terminology
  • Using Git to track changes in your code
  • How to prepare your code for publication
  • Publishing your code using Github
  • Using Git and Github to collaborate as part of a team 

Learning Outcomes:

After completing this workshop, you will be able to:

• Use the version control software Git to record and track changes to a code base
• Collaborate effectively with others on a code base to achieve larger goals
• Publish your code to a public repository
• Understand how and where to access support from the Research Computing Service at Imperial College 

Pre-Course setup



Monday 10 May 2021, 14:00-16:00 (Part One)
Tuesday 11 May 2021, 10:00-12:00 (Part Two)
Microsoft Teams


Monday 07 June 2021, 14:00-16:00 (Part One)
Tuesday 08 June 2021, 10:00-12:00 (Part Two)
Microsoft Teams


Summary of the table's contents

Students must attend both parts to be awarded the course credit