Time: 10:00 - 13:15
This course is FREE if a) you live in London and your job is at risk of redundancy or b) you are either on Jobseekers' Allowance (JSA) or Employment & Support Allowance(ESA) or c) you receive other state benefits (including Universal Credit) and your monthly take home pay is less than £343. For more information click here
This course will be delivered online. See the ‘What is the course about?’ section in course details for more information.
This course has now finished
What is the course about?
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.
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.
This is a live online course. You will need:
- Internet connection. The classes work best with Chrome.
- A computer with microphone and camera.
We will contact you with joining instructions before your course starts.
What will we cover?
• Object Oriented Principles and Theory
• Practical implementation of an OO model in Python
• Functional Programming concepts
• Practical implementation of Python functional programming.
What will I achieve?
By the end of this course you should be able to...
Describe and implement in Python the following key concepts of OO programming:
- Abstraction, information hiding and encapsulation
- Class and Objects
- Association (inheritance), Aggregation and Composition
Describe and implement in Python the following key concepts of functional programming:
- Statelessness and immutability
- First class and higher order functions
We will also use list comprehensions and the map function.
What level is the course and do I need any particular skills?
You will need to be able to use sequence (if, elif statements), repetition (for and while loops), lists, dictionaries and be also able to create your own subroutines using the def statement in Python. You should also be able to follow spoken instructions, read written instructions and information, and discuss work with your tutor in English.
How will I be taught, and will there be any work outside the class?
There will be some theoretical underpinning to the course, but it is nearly all practical, through teacher demonstration and practical programming and problem solving activities. There is no official work set outside the class but it is a good idea to practise the skills you have learnt to reinforce classroom learning.
Are there any other costs? Is there anything I need to bring?
Computers are provided for each student with all the necessary software installed. All the software used on the course is free to download and use and your tutor will recommend where to find this software for home use. Unfortunately due to the range of hardware and software used by students at home, the College is unable to provide advice on installation issues.
If you wish to copy the programs you produce on the course please bring a USB key or have access to a cloud service such as Google Drive or Dropbox. A pen and notepad for note taking is also advised.
When I've finished, what course can I do next?
You may be interested in some Maths for programming and data analysis such as: Linear algebra and optimisation for machine learning, Probability and statistics for data analysis, Algorithms in Python and introduction to machine learning or you might want to Data analytics with Python: introduction ot Introduction to R programming.
Tim is a PhD candidate in the field of High-energy physics. He attained an MSci degree from Imperial College London with a thesis on the formation of exoplanet moons. He has studied Python in the context of physics simulations, data analysis, statistical modelling, and Machine learning. For the past three years he has taught A-level students, undergraduates, and some university staff how to use Python effectively for modelling and data analysis. He has also tutored a variety of students in physics and mathematics from KS3 level to first-year undergraduate. His supervision in the undergraduate computing and physics laboratories of Imperial College London earned him a nomination for a Student Choice Award. “I was not exposed to programming until starting my undergraduate, but mere weeks into my degree it became an invaluable tool which I have used ever since.”
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.