This document introduces object-oriented programming (OOP) by explaining the differences between structured and object-oriented programming, defining key OOP terminology like class, object, attribute, and method, and describing the four main design principles of OOP: encapsulation, abstraction, polymorphism, and inheritance. It provides examples of attributes and methods for a car class and discusses why OOP is useful for code reuse and easier debugging.