Information
| Unit | FACULTY OF SCIENCE AND LETTERS |
| ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING PR. (ENGLISH) | |
| Code | YZZ204 |
| Name | Object Oriented Programming |
| Term | 2026-2027 Academic Year |
| Semester | 4. Semester |
| Duration (T+A) | 3-2 (T-A) (17 Week) |
| ECTS | 6 ECTS |
| National Credit | 4 National Credit |
| Teaching Language | İngilizce |
| Level | Lisans Dersi |
| Type | Normal |
| Label | FE Field Education Courses C Compulsory |
| Mode of study | Yüz Yüze Öğretim |
| Catalog Information Coordinator | Prof. Dr. YUSUF ALPER KAPLAN |
| Course Instructor |
The current term course schedule has not been prepared yet.
|
Course Goal / Objective
to learn Object-oriented programming concepts using the C programming language
Course Content
Programming Techniques, Philosophy of Object Oriented Programming, Classes and Objects, Object Oriented Programming Concepts, Encapsulation, Abstraction, Implementation, Interface/Implementation, Inheritance, Polymorphism, Overriding/overloading, Constructors and Deconstructors, Object Oriented Analysis and Design,
Course Precondition
no prerequisites
Resources
Teach Yourself C++ Herbert Schildt
Notes
C++ How to Program H. M. Deitel, P. J. Deitel
Course Learning Outcomes
| Order | Course Learning Outcomes |
|---|---|
| LO01 | Explain the principles of the object oriented programming concept specifically encapsulation, inheritance and polymorphism |
| LO02 | Apply the concepts of data encapsulation, inheritance, and polymorphism to computer programs |
| LO03 | Design and develop object oriented programs |
| LO04 | Can overload functions and operators |
Relation with Program Learning Outcome
| Order | Type | Program Learning Outcomes | Level |
|---|---|---|---|
| PLO01 | Bilgi - Kuramsal, Olgusal | It provides a broad range of knowledge about fundamental Computer Science concepts, algorithms and data structures. | 5 |
| PLO02 | Bilgi - Kuramsal, Olgusal | Learns basic computer topics such as software development, programming languages, and database management. | |
| PLO03 | Bilgi - Kuramsal, Olgusal | Understands advanced computing fields such as data science, artificial intelligence, and machine learning. | |
| PLO04 | - | Learn about topics such as computer networks, cyber security, and database design. | |
| PLO05 | Beceriler - Bilişsel, Uygulamalı | Develops skills in designing, implementing and analyzing algorithms. | |
| PLO06 | Beceriler - Bilişsel, Uygulamalı | Gains the ability to use different programming languages effectively | 5 |
| PLO07 | Beceriler - Bilişsel, Uygulamalı | Learns data analysis, database management and big data processing skills. | |
| PLO08 | Beceriler - Bilişsel, Uygulamalı | Gains practical experience by working on software development projects. | |
| PLO09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Strengthens collaboration and communication skills within the team. | |
| PLO10 | Yetkinlikler - Alana Özgü Yetkinlik | It provides a mindset open to technological innovations. | |
| PLO11 | Yetkinlikler - Öğrenme Yetkinliği | Encourages continuous learning and self-improvement competence. | |
| PLO12 | Yetkinlikler - İletişim ve Sosyal Yetkinlik | Develops the ability to solve complex problems. |
Week Plan
| Week | Topic | Preparation | Methods |
|---|---|---|---|
| 1 | Introduction to Object Oriented Programming | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 2 | Introduction to classes | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 3 | Passing objects to functions, and returning objects from functions | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 4 | Arrays, pointers and references | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 5 | Function overloading | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 6 | Operator overloading | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 7 | Inheritance | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 8 | Mid-Term Exam | Ölçme Yöntemleri: Yazılı Sınav |
|
| 9 | Virtual functions | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 10 | Polymorphism | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 11 | Templates | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 12 | Exception handling | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 13 | Run-time type identification | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 14 | Casting operators | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 15 | Namespaces and Conversion Functions | Reading the lecture notes | Öğretim Yöntemleri: Anlatım |
| 16 | Term Exams | Ölçme Yöntemleri: Yazılı Sınav |
|
| 17 | Term Exams | Ölçme Yöntemleri: Yazılı Sınav |
Student Workload - ECTS
| Works | Number | Time (Hour) | Workload (Hour) |
|---|---|---|---|
| Course Related Works | |||
| Class Time (Exam weeks are excluded) | 14 | 4 | 56 |
| Out of Class Study (Preliminary Work, Practice) | 14 | 4 | 56 |
| Assesment Related Works | |||
| Homeworks, Projects, Others | 0 | 0 | 0 |
| Mid-term Exams (Written, Oral, etc.) | 1 | 18 | 18 |
| Final Exam | 1 | 18 | 18 |
| Total Workload (Hour) | 148 | ||
| Total Workload / 25 (h) | 5,92 | ||
| ECTS | 6 ECTS | ||