Key Information

Tutor: Dr Christopher Cooling
Duration: 3 x 2 hour sessions 
Delivery: Live (In-Person) & Live (Online)
Course Credit (PGR only): 1 credit
Audience: Research Degree Students, Postdocs, Research Fellows 

Dates

  • 24, 27 & 28 November 2025
    10:00-12:00, South Kensington
  • 03, 04 & 06 February 2026
    14:00-16:00, MS Teams
  • 01, 04 & 05 June 2026
    14:00-16:00, South Kensington

Python, like many other modern coding languages, is at its heart “object-oriented”. To use Python to its fullest requires the use of its object-oriented features. These features allow for greater modularity, easier troubleshooting, greater reuse of code and greater flexibility and utility of a given section of code. 

In this course you will learn to use the basic object-oriented features of Python. You will learn to efficiently define custom classes, including using inheritance, properties and magic methods. You will also learn about object-oriented code design and how to use these skills in real projects. You will be able to translate many of the principles and ideas and translate them into other object-oriented languages.

Syllabus:

  • Types and Objects
  • My First Class
  • Attributes
  • Magic Methods
  • Properties
  • Inheritance
  • Polymorphism
  • Abstract Classes
  • Object-oriented code design principles
  • An extended exercise

The course will be delivered through a combination of written explanations, demonstrations and hands-on practicals. It is aimed at programmers who are comfortable with the basics of Python and want to improve the structure and professionalism of their code.

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

Learning Outcomes:

After completing this workshop, you will be better able to:

  • Define objects and classes in relation to Python
  • Use key object-oriented features of Python
  • Create classes tailored to the task they are to perform
  • Utilise object-oriented strategies to plan and develop research codes

Prerequisites

Basic knowledge of Python is essential. One place you could attain this is through studying the online course - Introduction to Python for Researchers. Ideally an attendee will have used Python intensively for at least three months prior to attending this course. Python users who are already familiar with object-oriented coding will gain less from this course as it is primarily aimed at those learning about these features for the first time.  

How to book

 

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