Collection of problems and exercises related with OOP using Java