PYTHON OBJECT ORIENTED PROGRAMMING PRACTICE
Maria Lymperaiou is a software engineer at JP Morgan Chase Bank in the UK. She has been researcher at the European Organization for Nuclear Research (CERN) in Switzerland and holds a ME Electrical and Computer Engineering.
This practice is made up of 3 projects focused on OOP. The main goal of these projects is to practice OOP and learn when and how to use this approach when implementing code. The projects are as follows:
1) Hotel bookings data management: create a program to calculate earnings and handle customers reservations based on multiple variables such as type of room, extra services, length of the stay, price, etc. The program must report about these variables printing messages for all the reservations included in the sample data.
2) Flights comparison: write a program to help a couple decide what airline offers the best deal for a family trip. Through OOP, you will have to build an app that prints the pricing of all available options and select the most suitable according to the family requirements.
3) Pet hotel registration process: for the bookings received on a new pets hotel website, follow the boarding of every pet and report clients about its health condition, cares, final accommodation, etc.
All projects have a guidelines section where the challenge is broken down in several small exercises (more than 10). This way you finish the assignment step by step solving problems about classes creation, methods, objects and other common elements of the OOP paradigm.
DOWNLOAD / CONTENT
You will receive an email with a protected ZIP and a password to access the content. If you are a registered user, the download is always available on your account.
The downloadable zip is made up of four folders with one project each one:
1) One PDF with the project description. It includes step by step guidance and hints to help you complete the tasks.
2) A Jupyter Notebook with the solutions. You will find not only the source code but also detailed explanations about how the code works.
IMPORTANT: to see the solutions (Notebook) you need to have jupyter or the ANACONDA package installed on your machine. If you do not have it, you may download it here. It is free.
WHAT YOU WILL PRACTICE
– Creating Classes.
– Writing and calling methods.
– Define functions with “for” loops and conditional statements (if/else).
– Dictionaries and lists: inputs are usually given in list of lists.
– Inheritance: use the __init__()
A minimum knowledge of object oriented programming is required to be able to finish the assignments. It is recommended to have attended an OOP introduction course and to be familiar with concepts like classes, methods, objects, encapsulation, inheritance, instances etc.