Faculty of Engineering and Natural Sciences · Computer Engineering · Undergraduate
Course Objective
The aim of this course is to teach students the fundamental concepts of object-oriented programming and to equip them with the skills to develop effective, modular, reusable, and sustainable software using these concepts. The course covers core topics such as classes, objects, encapsulation, inheritance, polymorphism, abstract classes, interfaces, constructor/destructor functions, operator overloading, and error handling, with the goal of enabling students to solve real-world problems using object-oriented thinking.
Course Content
Object-oriented programming concepts, introduction to the C++ programming language, class and object structures, data privacy and integrity, constructor and destructor, dynamic memory management, inheritance and polymorphism, abstract classes, operator overloading, error handling.
Teaching Methods
Assessment & Evaluation
ECTS / Workload
| Activity | Quantity | Duration (h) | Total Workload |
|---|---|---|---|
| Course Duration (Including Exam Week) | 15 | 1 | 15 |
| Out of Class Study Period | 15 | 4 | 60 |
| Midterm | 1 | 2 | 2 |
| Quiz | 0 | 0 | 0 |
| Assignment | 0 | 0 | 0 |
| Practice | 15 | 2 | 30 |
| Final | 1 | 2 | 2 |
Course Schedule
| Week | Subject | Preparation |
|---|---|---|
| 1 | Introduction to Object-Oriented Programming | . |
| 2 | C++ is a better C (differences between C and C++) | . |
| 3 | The Concepts of Struct and Class | . |
| 4 | Classes and Objects | . |
| 5 | Classes and Objects (Continued) | . |
| 6 | Constructor and Destructor | . |
| 7 | Encapsulation | . |
| 8 | Midterm Exam | |
| 9 | Dynamic Memory and Pointers to Objects | . |
| 10 | Inheritance | . |
| 11 | (Inheritance) continues | . |
| 12 | Polymorphism | . |
| 13 | Abstract Classes and Interface Logic | . |
| 14 | Operator Overloading | . |
| 15 | Exception Handling | . |
| 16 | Final Exam | . |


