Advanced Python
Choose a starting date
Learning modes and locations may be different depending on the course start date. Please check the location of your chosen course and read our guide to learning modes and locations to help you choose the right course for you.
- Start Date: 15 Jul 2025End Date: 05 Aug 2025Tue (Evening): 18:15 - 21:15Choose either online or in-personLocation: Hybrid (choose either online or in-person)Duration: 4 sessions (over -4 weeks)Course Code: COFP01Tutors: Muhammad KhanFull fee £249.00 Senior fee £199.00 Concession £162.00
Please note: We offer a wide variety of financial support to make courses affordable. Just visit our online Help Centre for more information on a range of topics including fees, online learning and FAQs.
What is the course about?
The first half of this course introduces Object Oriented Programming (OOP), the dominant approach to modern software development. OOP helps development teams manage the complexity of large projects and encourages a design-led approach to coding. We will look at both the theory of OOP and how it is practically implemented it in Python.
We then look at an approach that is complementary to OOP, which is the use of unit tests to organise a development project. A test-driven approach helps clarify which tasks need to be done and manage the risk associated with code changes, giving you confidence that new code is correct and doesn’t have adverse side effects.
We end with some additional topics related to Python functions that, while not always needed, will reveal more about how Python works “under the hood”.
All the topics on this course are popular in the technical parts of job interviews. This course is intended to set you on the path from writing short Python scripts on your own to working on larger software projects where robustness and complexity can raise issues.
Participants who will attend the full course will receive a City Lit certificate of attendance electronically for their CV or CPD records. The certificate will show your name, course title and dates of the course you have attended.
What will we cover?
• The fundamental theory of Object Oriented programming
• Practical implementation of an OO model in Python
• Unit testing and test-driven development
• Using closures and generators.
What will I achieve?
By the end of this course you should be able to...
• Explain the following concepts and how the interrelate: class, object, interface, implementation, abstraction, encapsulation, overloading, overriding, polymorphism, inheritance, composition.
• Design a class hierarchy for a programme and implement it with Python code.
• Set up and use unit tests and describe their benefits.
• Describe test-driven development and weigh up its pros and cons for a particular project.
• Write closures and generators in Python and describe use cases for each.
What level is the course and do I need any particular skills?
This is an advanced course. You should be confident with the main elements of Python as covered on City Lit’s Introduction to Python and Intermediate Python:
• If, else and elif;
• While and for loops
• Lists and dictionaries
• Functions (using def)
You should be able to write a short programme to solve a problem given in words.
To follow the class, you should be able to follow spoken instructions, read written information and discuss your work with your tutor in English.
How will I be taught, and will there be any work outside the class?
There is some theoretical material on the course but it is mostly practical. The class is delivered through a mixture of tutor demonstration, practical exercises and discussion. Work outside class is not compulsory but is strongly recommended and example challenges will be provided.
When I've finished, what course can I do next?
Please click here to view our Programming and Maths courses..
Disclaimer: Use of Third-Party Software
This course might require you to either use your own personal account or create an account for the purposes of this course. City Lit cannot accept any responsibility for any failings of the third party or provide technical support. Whilst using the software you will be responsible for abiding by the providers terms and conditions and maintaining your own work.
Muhammad is a passionate and experienced tutor currently studying for his PhD in Artificial Intelligence. With a strong background as a former Software Engineer and programming tutor, Muhammad combines his deep academic knowledge with practical industry experience to deliver exceptional educational experiences. Notably, he is the first to create a UAV navigation algorithm using Dispersive Flies Optimization (DFO), which outperformed conventional benchmarks typically employed by major corporations. Dedicated to making advanced technology concepts accessible for all, Muhammad is the creator of the 2-step method to mastering any technological skill from conception to completion, where each lesson is related to individually tailored experiences whilst still adhering to a consistent group-based approach. His goal is to democratize AI and technology, ensuring that these powerful tools are available to and usable by every segment of society through digital literacy and empowerment.
Please note: We reserve the right to change our tutors from those advertised. This happens rarely, but if it does, we are unable to refund fees due to this. Our tutors may have different teaching styles; however we guarantee a consistent quality of teaching in all our courses.