Key Information

Tutors: Research Software Engineers from the Research Computing Service
Duration: 2 x 2 hour sessions 
Delivery: Live (In-Person) & Live (Online)
Course Credit (PGR only): 1 credit 
Audience: Research Degree Students, Postdocs, Research Fellows

Dates

  • 06 & 07 November 2025
    10:00-12:00, MS Teams
  • 19 & 20 February 2026
    10:00-12:00, South Kensington
  • 14 & 15 May 2026
    10:00-12:00, South Kensington

Course Resources

Programming as a researcher can be a very intimidating experience. It can feel as though your code isn't "good enough" (as judged by some mysterious and opaque criteria), or that you're not coding in the "right way". The aim of this course is to help to address some of these concerns through an introduction to software engineering for researchers. Beyond just programming, software engineering is the practice and principle of writing software that is correct, sustainable and ready to share with colleagues and the wider research community. 

Material will be delivered as a mixture of lectures and computational practicals. 

Syllabus

  • Techniques and tools to improve the readability and quality of your code
  • Structuring your code in a modular fashion to promote reuse and future extension
  • Testing frameworks and how to write tests

This course is open to Research Degree Students, Postdocs & Research Fellows. Limited spaces available for wider Imperial community.

Learning Outcomes

On completion of this workshop you will be able to:

  • Be confident in the quality of your code for collaboration and publication
  • Apply appropriate quality assurance software tools to your code 
  • Write tests to check the correctness of your code
  • Understand how and where to access support from the Research Computing Service at Imperial College

Prerequisites

You are expected to be comfortable with the fundamental programming concepts.  Knowledge of Python will be essential

How to book

 

Please ensure you have read and understood ECRI’s cancellation policy before booking