Using at least two examples (whenever applicable), concisely discuss the following terms. You are strongly recommended to at least visit and study the posted article on websites listed in the reference section. Programming paradigm Procedural programming OOP or Object-Oriented Programming Abstract Data Type or ADT Four basic principles of object orientation Abstraction Encapsulation/Information hiding Inheritance Polymorphism Benefits of OOP Object-Oriented Design & Analysis or OODA or OODA UML for OOD Attributes and behaviors of an object C++ classes and objects Instance and instantiation of an object State of an object Solution 1) Programming paradigm is a way or style of writing programming languages. For example in python, blocks are represented using blocks. In python intendation is important. IN java, flower/open braces are used. 2) Procedural programming This is style of routines and subroutines. Declaring the subroutine, top of program declaring prototype declaring and bottom of program writing the implementation of methods. Also subroutine is accssible is depends on public accessifiers. 3) OOPS programming language where all variables and methods are accessed via object. Object is real entity which stores the data. Java, python,c++ are examples of OOPS programming languages. 4) Abstract data type is representing the hidden object. It hides the implementation. Example: We can see the car physically but cannot see the internal strucure. Seeing the machine physically but doesn\'t bother about internal strucure..