Key Information

Tutors: Research Software Engineers from the Research Computing Service 
Course Level: Level 2 
Course Credit: 1 credit 
Prerequisites: You are expected to be comfortable with the fundamental programming concepts.  Knowledge of Python will be essential.
Duration: 2 x 2 hour sessions 
Format: Live online or live face to face with hands-on practice

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

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

Dates & Booking Information

  • Thursday 07 November 2024 (Part 1) & Friday 08 November 2024 (Part 2), 10:00-12:00, South Kensington (In-Person Teaching)
  • Tuesday 18 February 2025 (Part 1) & Wednesday 19 February 2025 (Part 2), 10:00-12:00, South Kensington (In-Person Teaching)
  • Tuesday 13 May 2025 (Part 1) & Wednesday 14 May 2025 (Part 2), 10:00-12:00, South Kensington (In-Person Teaching)

To book your place, please follow the booking process advertised on the main programme page