This document introduces object oriented programming and discusses its advantages over traditional procedural programming. It notes that object oriented programming addresses issues like representing real world entities, designing with open interfaces, ensuring reusability and extensibility, developing tolerant modules, and improving productivity and quality. The document then discusses the evolution of software technology and how object oriented programming provides a better paradigm to build complex software by incorporating construction techniques and program structures that are easy to comprehend and modify.