Due to the nature of the module it might be necessary to give conceptual scenarios like BicycleFactories , BeverageMachines . But it would be clearer if we a more specific programming task that involves OOP is given . For example instead of BeverageMachine ( which does n't do any actual work inside the code but rather deals with concepts like Tea , Coffee ) I recommend something like a MathBot ( which takes some real input do some real process and produces an output , but of course it might be hard to incorporate OOP into this )