object-oriented programming
A programming paradigm in which programs are organized as cooperative collections of objects, each of which are instances of some class, and where the classes may form a hierarchy of inheritance relationships.
Course References:
Programming