Strengthen your Python programming skills with this advanced course focused on Object-Oriented Programming (OOP)—a key approach in modern software development. Learn how to design and implement class hierarchies, understand core OOP concepts like abstraction, encapsulation, inheritance, and polymorphism, and apply them effectively in Python.
You’ll also explore functional programming features such as closures and generators, an...
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:23 Apr 2026
End Date:14 May 2026
Thu (Evening):18:00 - 21:00
Choose either online or in-person
Location: Hybrid (choose either online or in-person)
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.
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.
Are there any other costs? Is there anything I need to bring?
.
When I've finished, what course can I do next?
City Lit offers a variety of progression courses in this subject area. Please click hereto view our 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.
We’re sorry. We don’t have a bio ready for the tutor of this class at the moment, but we’re working on it! Watch this space.
product
https://www.citylit.ac.uk/advanced-python155807Advanced Pythonhttps://www.citylit.ac.uk/media/catalog/product/p/y/python-course.jpg259259GBPInStock/Courses/Courses/Business, marketing & technology/Courses/Business, marketing & technology/Web design and programming/Programming/Courses/Business, marketing & technology/Web design and programming/Courses/vm/Skills for Work - Online Employability Courses/Courses/vm/Web design & programming offer/Courses/Business, marketing & technology/Web design and programming/Python/Courses/vm/Summer offers228512111408168717912012133971361412285121116871653<p>Strengthen your Python programming skills with this advanced course focused on Object-Oriented Programming (OOP)—a key approach in modern software development. Learn how to design and implement class hierarchies, understand core OOP concepts like abstraction, encapsulation, inheritance, and polymorphism, and apply them effectively in Python.</p><p>You’ll also explore functional programming features such as closures and generators, and gain practical experience with unit testing and test-driven development. Ideal for learners with prior Python experience, this course equips you with the tools to write clean, scalable, and maintainable code for real-world applications.</p> <div data-content-type="html" data-appearance="default" data-element="main">Object Oriented programming is a technique that allows both individuals and teams of programmers to best organise their code to reduce complexity and improve maintainability. It is the keystone of modern software development and on this course, we will delve into both the theoretical concepts underpinning OO and also its practical implementation in Python.<br />
<br />
Though this course is mainly an exploration of the Object Oriented approach we will also explore the increasingly popular functional paradigm to programming. Like most modern general-purpose programming languages Python implements a number of these concepts to improve the efficiency of programs and the elegance of the code produced.</div>44.32950757Advanced Python259259https://www.citylit.ac.uk/media/catalog/product/p/y/python-course_32.jpgInStockEveningThuHybrid (choose either online or in-person)Available courses1 to 4 weeksWeekday2026-04-23T00:00:00+00:00AdvancedApr 2026Business, marketing & technologyCOFP01259259Advanced Python207168259advanced-python/cofp01-2526<p>Strengthen your Python programming skills with this advanced course focused on Object-Oriented Programming (OOP)—a key approach in modern software development. Learn how to design and implement class hierarchies, understand core OOP concepts like abstraction, encapsulation, inheritance, and polymorphism, and apply them effectively in Python.</p><p>You’ll also explore functional programming features such as closures and generators, and gain practical experience with unit testing and test-driven development. Ideal for learners with prior Python experience, this course equips you with the tools to write clean, scalable, and maintainable code for real-world applications.</p>0000-Available|2026-04-23 00:00:00The 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. <br/><br/>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.<br/><br/>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”. <br/><br/>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.<br/><br/>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.<p>Strengthen your Python programming skills with this advanced course focused on Object-Oriented Programming (OOP)—a key approach in modern software development. Learn how to design and implement class hierarchies, understand core OOP concepts like abstraction, encapsulation, inheritance, and polymorphism, and apply them effectively in Python.</p><p>You’ll also explore functional programming features such as closures and generators, and gain practical experience with unit testing and test-driven development. Ideal for learners with prior Python experience, this course equips you with the tools to write clean, scalable, and maintainable code for real-world applications.</p>• The fundamental theory of Object Oriented programming<br/>• Practical implementation of an OO model in Python<br/>• Unit testing and test-driven development<br/>• Using closures and generators.• Explain the following concepts and how the interrelate: class, object, interface, implementation, abstraction, encapsulation, overloading, overriding, polymorphism, inheritance, composition.<br/>• Design a class hierarchy for a programme and implement it with Python code.<br/>• Set up and use unit tests and describe their benefits.<br/>• Describe test-driven development and weigh up its pros and cons for a particular project.<br/>• Write closures and generators in Python and describe use cases for each.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:<br/>• If, else and elif; <br/>• While and for loops<br/>• Lists and dictionaries<br/>• Functions (using def)<br/>You should be able to write a short programme to solve a problem given in words.<br/><br/>To follow the class, you should be able to follow spoken instructions, read written information and discuss your work with your tutor in English.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..<p>City Lit offers a variety of progression courses in this subject area. Please click <a href="https://www.citylit.ac.uk/media/wysiwyg/pdf/Web_Programming_Courses.pdf"><u>here</u> </a>to view our courses</p><p>Disclaimer: Use of Third-Party Software<br/>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.</p>Web design and programmingProgrammingvirtual207259168COFP01NONEThu23/04/26 - 14/05/2618:00 - 21:0018:0021:004 sessions (over 4 weeks)41 to 4 weeksEveningWeekdayHybridHybrid (choose either online or in-person)AdvancedAvailable courses2026-04-23T00:00:00+00:00Apr 2026Business, marketing & technology259259Advanced Pythonadvanced-python/cofp01-2526<p>Strengthen your Python programming skills with this advanced course focused on Object-Oriented Programming (OOP)—a key approach in modern software development. Learn how to design and implement class hierarchies, understand core OOP concepts like abstraction, encapsulation, inheritance, and polymorphism, and apply them effectively in Python.</p><p>You’ll also explore functional programming features such as closures and generators, and gain practical experience with unit testing and test-driven development. Ideal for learners with prior Python experience, this course equips you with the tools to write clean, scalable, and maintainable code for real-world applications.</p>0000-Available|2026-04-23 00:00:00The 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. <br/><br/>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.<br/><br/>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”. <br/><br/>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.<br/><br/>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.<p>Strengthen your Python programming skills with this advanced course focused on Object-Oriented Programming (OOP)—a key approach in modern software development. Learn how to design and implement class hierarchies, understand core OOP concepts like abstraction, encapsulation, inheritance, and polymorphism, and apply them effectively in Python.</p><p>You’ll also explore functional programming features such as closures and generators, and gain practical experience with unit testing and test-driven development. Ideal for learners with prior Python experience, this course equips you with the tools to write clean, scalable, and maintainable code for real-world applications.</p>• The fundamental theory of Object Oriented programming<br/>• Practical implementation of an OO model in Python<br/>• Unit testing and test-driven development<br/>• Using closures and generators.• Explain the following concepts and how the interrelate: class, object, interface, implementation, abstraction, encapsulation, overloading, overriding, polymorphism, inheritance, composition.<br/>• Design a class hierarchy for a programme and implement it with Python code.<br/>• Set up and use unit tests and describe their benefits.<br/>• Describe test-driven development and weigh up its pros and cons for a particular project.<br/>• Write closures and generators in Python and describe use cases for each.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:<br/>• If, else and elif; <br/>• While and for loops<br/>• Lists and dictionaries<br/>• Functions (using def)<br/>You should be able to write a short programme to solve a problem given in words.<br/><br/>To follow the class, you should be able to follow spoken instructions, read written information and discuss your work with your tutor in English.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..<p>City Lit offers a variety of progression courses in this subject area. Please click <a href="https://www.citylit.ac.uk/media/wysiwyg/pdf/Web_Programming_Courses.pdf"><u>here</u> </a>to view our courses</p><p>Disclaimer: Use of Third-Party Software<br/>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.</p>Web design and programmingProgrammingconfigurable
14081687Programminghttps://www.citylit.ac.uk/courses/technology-science-and-business/web-design-and-programming/programming1/2/285/1211/1687/14081/Courses/Business, marketing & technology/Web design and programming/Programming