This document provides an introduction to object oriented programming (OOP). It defines key concepts in OOP like objects, classes, encapsulation, inheritance, and polymorphism. Objects are the basic runtime entities that can represent any item to be handled in a program. Classes are user-defined data types that contain data and code to manipulate that data. Encapsulation wraps data and functions into a single unit, while inheritance allows classes to inherit properties from other classes. Polymorphism allows operations to exhibit different behaviors depending on the data type. Benefits of OOP include code reuse, easier management of complexity, and better mapping to real world problems. Promising application areas for OOP include real-time systems, simulations, databases