Description

This course provides a comprehensive introduction to Object-Oriented Programming (OOP) principles and practices. OOP is a fundamental paradigm in software development that focuses on organizing and modeling software systems using objects, classes, and their interactions. Through a combination of theoretical concepts and practical coding exercises, students will gain a strong foundation in OOP and learn how to design and implement object-oriented solutions to real-world problems.

Objectives

By the end of this course, students will be able to:

  • List and describe key OOP terminology, such as classes, objects, methods, and attributes.
  • Explain the core principles of OOP, including encapsulation, inheritance, abstraction, and polymorphism.
  • Implement and demonstrate the use of classes and objects in solving real-world problems.
  • Analyze existing codebases to identify opportunities for improving code structure using OOP principles.
  • Create reusable code components to enhance code modularity and maintainability.
  • Apply OOP techniques to solve complex programming challenges and address software design problems effectively.

Prerequisites

To successfully participate in this course,  it is recommended that you have the following prerequisites:

  • Recall basic C programming knowledge.
  • Understanding of basic programming concepts such as variables, data types, loops, and conditional statements.
  • Illustrate an understanding of data structures like arrays and lists.

Instructor

  • Dr. Charafeddine Mechalikh