Core concepts of object-oriented programming. This knowledge is used when modeling and designing systems.