This course provides an in-depth introduction to object-oriented programming (OOP) concepts and principles. It covers fundamental topics such as classes and objects, encapsulation, inheritance, polymorphism, and abstraction. Students will learn how to design, develop, test, and maintain software applications using object-oriented methodologies. The course emphasizes problem-solving, code reusability, and modular program design through hands-on programming exercises and projects using a modern object-oriented programming language. By the end of the course, students will be able to analyze real-world problems and implement efficient, well-structured object-oriented solutions.