This document provides an introduction to object-oriented programming concepts including classes, objects, encapsulation, inheritance, and polymorphism. It defines a class as a blueprint for creating objects with data fields and methods. An object is an instance of a class that stores its own set of data and behaviors. Encapsulation, inheritance, and polymorphism are described as key principles of OOP. Common programming paradigms like procedural, object-oriented, functional, and declarative are also overviewed.