OOP Design (object-oriented programming) is a good exercise to show how to split up our system into different components. You can think of React Components but instead, we are separating our system into different objects/classes. The important factor of this problem and problems like these are that they are opened ended and force you to think abstractly and creatively. The main goal of this exercise is to be able to draw out diagrams to communicate abstract ideas before they begin to be implemented with code.
These problems are language agnostic (meaning language-neutral, or cross-language)
- To understand and design activity diagrams and class diagrams.