Undergraduate
Faculty of Engineering and Architecture
Computer Engineering
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.


Object Oriented Programming

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
COM3003 3 Object Oriented Programming 2/0/2 CC English 7
Course Goals

This course provides a comprehensive introduction to Object-Oriented Programming (OOP) using C++, beginning with the transition from C to C++ through variables, functions, arrays, and function overloading, and advancing to core OOP topics such as classes, constructors, data abstraction, inheritance, virtual functions, operator overloading, templates, and exception handling. Emphasis is placed on understanding and applying the fundamental principles of OOP, including abstraction, encapsulation, inheritance, and polymorphism, to design and implement efficient, reusable, and robust software systems.

Prerequisite(s) CSE1001 Programming-I
Corequisite(s) None
Special Requisite(s) None
Instructor(s) Assoc. Prof. Fatma P. AKBULUT
Course Assistant(s) Ar. Gör. Büşra Kocaçınar
Schedule Tuesday 09:00-11:00 11:00-13:00
Office Hour(s) Friday:09:00-11:00
Teaching Methods and Techniques In theory lectures, PPT presentations are used to explain the concepts. During lab work, applications are developed.
Principle Sources D. S. Malik, “C++ Programming: Program Design  including Data Structures”, 8th  Edition, 2017  (Textbook)

Deitel, H. M., & Deitel, P. J. . C++ how to program. Pearson Education. 7th Edition, 2009

 
Other Sources -
Course Schedules
Week Contents Learning Methods
1. Week Course Introduction and Syllabus Oral Presentation, Laboratory
2. Week String Class and prewritten classes Oral Presentation, Laboratory
3. Week Function Overloading Oral Presentation, Laboratory
4. Week Structs, Classes and Data Abstraction (Chapter 10) Oral Presentation, Laboratory
5. Week Classes and Data Abstraction (Chapter 10) Oral Presentation, Laboratory
6. Week Inheritance and Composition (Chapter 11) Oral Presentation, Laboratory
7. Week Inheritance and Composition (Chapter 11) Oral Presentation, Laboratory
8. Week Midterm Midterm
9. Week Pointers, Classes, Virtual Functions, Abstract Classes, and Lists (Chapter 12) Oral Presentation, Laboratory
10. Week Pointers, Classes, Virtual Functions, Abstract Classes, and Lists (Chapter 12) Oral Presentation, Laboratory
11. Week Overloading and Templates (Chapter 13) Oral Presentation, Laboratory
12. Week Overloading and Templates (Chapter 13) Oral Presentation, Laboratory
13. Week Exception Handling (Chapter 14) Oral Presentation, Laboratory
14. Week Exception Handling (Chapter 14) Oral Presentation, Laboratory
15. Week
16. Week
17. Week
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 35
Quizzes 2 15
Project(s) 1 10
Final Exam 1 35


Program Outcomes
PO-1Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9Awareness of professional and ethical responsibility.
PO-10Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1Describe the fundamental principles of object-oriented programming, including the differences between classes and objects.
LO-2Explain and apply the concepts of inheritance and composition to design modular, reusable, and extensible systems.
LO-3Implement classes with constructors, operator overloading, and templates to support flexibility and code reusability
LO-4Use abstract functions, abstract classes, and virtual functions to achieve polymorphism and extensibility.
LO-5Apply exception handling within object-oriented designs to create robust and error-tolerant applications.
LO-6Analyze programming problems and develop effective C++ solutions using object-oriented design techniques.
LO-7Demonstrate proficiency in writing, testing, and debugging C++ programs through laboratory work, exercise/projects, and exams.
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11
LO 1
LO 2
LO 3
LO 4
LO 5
LO 6
LO 7