This document introduces object-oriented programming. It compares procedural programming with OOP, noting that OOP models real-world problems more accurately. It identifies advantages of OOP like reusability, modularity, and information hiding. The document also discusses classes and objects as the basic building blocks of OOP and provides examples of applications like games and CAD/CAM that benefit from OOP.