This document provides an overview of procedural programming and object-oriented programming concepts. It discusses modular programming in C language and compilers used for C/C++. It then covers the software crisis and evolution, procedural programming paradigm, and introduction to object-oriented approach. Key characteristics of OOP like classes, objects, encapsulation, inheritance and polymorphism are explained. Benefits of OOP like code reusability and improved reliability are highlighted. Popular OOP languages like Java, C++, and Python are listed with examples of applications like real-time systems and databases.