INTERMEDIATE PYTHON OBJECT ORIENTED PROGRAMMING PRACTICE
Maria Lymperaiou is a software engineer at JP Morgan Chase Bank in the UK. She has been reasearcher 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 Object Oriented Programming. The main goal of these projects is to practice OOP and be confident about this programming approach in Python. The projects are as follows:
1) Treasure hunt game: create an interactive program with OOP to play the treasure hunt (no graphics). You will be requested to design three classes including several methods to go through the different stages of the game. In some parts, the program will request the user interaction and based in that input and the data provided (excel file) the program will have to find and notify the winners.
2) Caribbean Cruise: create a decision making program to select the best cruise for Christmas. You will receive four files with the features, amenities and activities of four different cruises operators and through Object Oriented Programming all available options should be displayed and selected the most convinient according to certain preferences.
3) Rolling dices game: you are asked to simulate the dices rolling score through the “random” library and given a pre defined set of rules, you will have to program the game so that it finds the winner at each round.
All projects have a guidelines section where the challenge is broken down in multiple small exercises (more than 10). This way, you finish the challenge step by step solving problems about classes, 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 three 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/while” loops and conditional statements (if/else)
– Dictionaries and lists.
– Inheritance: use the __init__()
– Basic Pandas library to import a table saved in an Excel file.
Knowledge of object oriented programming is required to be able to finish the challenges. It is recommended to have attended an OOP introduction course and be familiar with concepts like classes, methods, objects, encapsulation, inheritance, instances etc.
It is also recommended (although not manadatory) to be familiar with the pandas library in order to read the input data when is stored in spreadsheets.