Code | Name of the Course Unit | Semester | In-Class Hours (T+P) | Credit | ECTS Credit |
---|---|---|---|---|---|
BIL201 | OBJECT ORIENTED PROGRAMMING | 3 | 5 | 4 | 8 |
GENERAL INFORMATION |
|
---|---|
Language of Instruction : | Türkçe |
Level of the Course Unit : | LİSANS, TYY: + 6.Düzey, EQF-LLL: 6.Düzey, QF-EHEA: 1.Düzey |
Type of the Course : | Zorunlu |
Mode of Delivery of the Course Unit | - |
Coordinator of the Course Unit | Dr.Öğr.Üyesi OĞUZHAN ÖZTAŞ |
Instructor(s) of the Course Unit | Öğr.Gör. AHMET VEDAT TOKMAK-Öğr.Gör. HÜSEYİN GÖKAL-Dr.Öğr.Üyesi NİHAL ALTUNTAŞ-Dr.Öğr.Üyesi ZEINAB HASSANZADEH |
Course Prerequisite | No |
OBJECTIVES AND CONTENTS |
|
---|---|
Objectives of the Course Unit: | Bu ders, nesne yönelimli programlama prensiplerini, nesne yönelimli dillerin yapısını ve temel kavramları tanıtmayı amaçlamaktadır. Öğrenciler, sınıf yapıları, nesne ilişkileri, miras ve çok biçimlilik gibi konuları öğrenecek ve uygulama geliştirme süreçlerinde nesne yönelimli yaklaşımları kullanabileceklerdir. |
Contents of the Course Unit: | Nesneler ve sınıflar, oluşturucu, statik değişken, sabitler, metodlar, görünürlük değiştiricileri, geçici nesneler, yöntemlerin nesnelerle çağrılması, değişmezlik, değişken görünürlüğü, sınıf soyutlaması ve paketleme, üst ve alt sınıf kavramları, kalıtım, çoklu anlam, çiğneme, çokyükleme, soyut sınıf, nesne yönelimli tasarım |
KEY LEARNING OUTCOMES OF THE COURSE UNIT (On successful completion of this course unit, students/learners will or will be able to) |
---|
Bu dersi alan öğrenciler, Nesne, sınıf, kapsülleme, soyutlama, miras ve çok biçimlilik gibi temel nesne yönelimli programlama (OOP) kavramlarını öğrenir ve projelerinde etkili bir şekilde kullanabilir. |
Bu dersi alan öğrenciler, Miras ve çok biçimlilik özelliklerini kullanarak kod tekrarını azaltır, esnek ve genişletilebilir yapıda uygulamalar geliştirir. |
Bu dersi alan öğrenciler, istisna yönetimi (try-catch yapıları) ile hataları güvenli şekilde yönetir; dosya işlemleriyle veri okuma ve yazma işlemlerini gerçekleştirir |
OOP prensiplerini kullanarak bağımsız projeler geliştirir ve nesne yönelimli yaklaşımla problem çözme becerisini kazanır. |
WEEKLY COURSE CONTENTS AND STUDY MATERIALS FOR PRELIMINARY & FURTHER STUDY |
|||
---|---|---|---|
Week | Preparatory | Topics(Subjects) | Method |
1 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Giriş ve Temel Kavramlar: Nesne yönelimli programlamaya genel bakış, Yapısal programlama ile nesne yönelimli programlama arasındaki farklar, Nesne, sınıf, özellik ve yöntem (metot) kavramları | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
2 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Sınıflar ve Nesneler: Sınıf tanımları ve nesne oluşturma, Yapıcı (constructor) ve yıkıcı (destructor) metotlar, Kapsülleme (encapsulation) kavramı ve erişim belirleyicileri (public, private, protected) | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
3 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Nesne Yönelimli Programlamanın 4 Temel İlkesi: Kapsülleme, Soyutlama (abstraction), Miras (inheritance), Çok biçimlilik (polymorphism) | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
4 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Kapsülleme ve Erişim Belirleyicileri: Kapsülleme ile veri gizliliği ve güvenlik sağlama, Public, private, ve protected erişim belirleyicilerinin kullanımı, Setter ve getter yöntemleri ile veri kontrolü | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
5 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Yapıcı ve Yıkıcı Yöntemler: Parametreli ve parametresiz yapıcılar, Yıkıcılar ve hafıza yönetimi, Yapıcı ve yıkıcı kullanım örnekleri | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
6 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Statik (Static) ve Nesne Üyesi Değişkenler: Statik değişkenler ve yöntemler, Statik ve nesne üyesi değişkenlerin farkları, Statik yapının kullanım alanları ve örnekler | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
7 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Miras (Inheritance): Miras kavramı ve temel özellikleri, Çoklu miras ve çoklu kalıtım sorunları | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
8 | - | ARA SINAV | - |
9 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Çok Biçimlilik (Polymorphism): Polymorphism kavramı ve türleri, Çok biçimliliğin uygulama alanları ve örnekler | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
10 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Soyut Sınıflar (Abstract Classes) ve Arayüzler (Interfaces): Soyut sınıf ve arayüz kavramları, soyut sınıf ve arayüzlerin kullanım alanları, Pratik örneklerle soyut sınıf ve arayüzlerin karşılaştırılması | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
11 | -Referansların ilgili bölümü, ek kaynaklar ve ders notları. | İstisna Yönetimi (Exception Handling): Hata türleri ve istisna yönetimi, Try-catch yapısı ile hata yakalama ve işleme, İstisna yönetimi ile program güvenliğini sağlama | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
12 | Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Dosya okuma ve yazma işlemleri | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
13 | Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Koleksiyonlar (Collections) ve Veri Yapıları: oleksiyon sınıfları (ArrayList, LinkedList, vb.), Nesne yönelimli programlamada veri yapılarının kullanımı, HashMap, TreeMap gibi yapıların özellikleri | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
14 | Referansların ilgili bölümü, ek kaynaklar ve ders notları. | Tasarım Desenleri (Design Patterns): Singleton, Factory, Observer gibi temel tasarım desenleri, tasarım desenlerinin OOP projelerinde kullanımı | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
15 | - | Proje çalışması | Ders anlatımı, Tartışma (Soru-Cevap), Laboratuvar Uygulamaları. |
16 | - | FİNAL | - |
17 | - | FİNAL | - |
SOURCE MATERIALS & RECOMMENDED READING |
---|
ASSESSMENT |
|||
---|---|---|---|
Assessment & Grading of In-Term Activities | Number of Activities | Degree of Contribution (%) | Description |
Level of Contribution | |||||
---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 |
KNOWLEDGE |
|||||||
---|---|---|---|---|---|---|---|
Theoretical |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Explains the fundamental engineering concepts of computer science and relates them to the groundwork of computer science.
|
4 |
KNOWLEDGE |
|||||||
---|---|---|---|---|---|---|---|
Factual |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Uses theoretical and practical knowledge coming from mathematics, probability, statistics and various other branches of life sciences, to find solutions to engineering problems.
|
4 |
SKILLS |
|||||||
---|---|---|---|---|---|---|---|
Cognitive |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Determines the components and the underlying process of a system and designs an appropriate computational model under reasonable constraints.
|
5 | |||||
2 |
Designs a computer-aided conceptual model with modern techniques.
|
5 |
SKILLS |
|||||||
---|---|---|---|---|---|---|---|
Practical |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Determines, detects and analyzes the areas of computer science applications and develops appropriate solutions.
|
4 | |||||
2 |
Identifies, models and solves computer engineering problems by applying appropriate analytical methods.
|
5 | |||||
3 |
Determines and uses the necessary information technologies in an efficient way for engineering applications.
|
4 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Autonomy & Responsibility |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Possess the responsibility and ability to design and conduct experiments for engineering problems by collecting, analyzing and interpreting data.
|
5 | |||||
2 |
Possess the ability to conduct effective individual study.
|
4 | |||||
3 |
Takes responsibility as a team work and contributes in an effective way.
|
5 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Learning to Learn |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Monitors the developments in the field of information technologies by means of internet and related journals and possess the required knowledge for the management, control, development and security of information technologies.
|
5 | |||||
2 |
Develops positive attitude towards lifelong learning.
|
4 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Communication & Social |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Communicates effectively by oral and/or written form and uses at least one foreign language.
|
5 | |||||
2 |
Possess sufficient consciousness about the issues of project management, practical applications and also environmental protection, worker's health and security.
|
5 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Occupational and/or Vocational |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Possess professional and ethical responsibility and willingness to share it.
|
4 | |||||
2 |
Possess sufficient consciousness about the universality of engineering solutions and applications and be well aware of the importance of innovation.
|
4 |
WORKLOAD & ECTS CREDITS OF THE COURSE UNIT |
|||
---|---|---|---|
Workload for Learning & Teaching Activities |
|||
Type of the Learning Activites | Learning Activities (# of week) | Duration (hours, h) | Workload (h) |
Ders | 14 | 5 | 70 |
Derse Ön Hazırlık ve Ders Sonrası Pekiştirme | 3 | 1 | 3 |
Arazi Çalışması | 3 | 4 | 12 |
Grup Çalışması / Ödevi | 1 | 3 | 3 |
Laboratuvar | 3 | 5 | 15 |
Okuma | 1 | 3 | 3 |
Ödev | 6 | 2 | 12 |
Proje Hazırlama | 3 | 4 | 12 |
Seminer | 0 | 0 | 0 |
Staj | 0 | 0 | 0 |
Teknik Gezi | 1 | 1 | 1 |
Web Tab. Öğrenme | 0 | 0 | 0 |
Uygulama | 3 | 4 | 12 |
Yerinde Uygulama | 1 | 1 | 1 |
Mesleki Faaliyet | 1 | 1 | 1 |
Sosyal Faaliyet | 1 | 5 | 5 |
Tez Hazırlama | 5 | 10 | 50 |
Alan Çalışması | 0 | 0 | 0 |
Rapor Yazma | 2 | 2 | 4 |
Final Sınavı | 1 | 2 | 2 |
Final Sınavı Hazırlığı | 0 | 0 | 0 |
Ara Sınav | 1 | 1 | 1 |
Ara Sınav Hazırlığı | 0 | 0 | 0 |
Kısa Sınav | 1 | 1 | 1 |
Kısa Sınav Hazırlığı | 0 | 0 | 0 |
TOPLAM | 51 | 0 | 208 |
Total Workload of the Course Unit | 208 | ||
Workload (h) / 25.5 | 8,2 | ||
ECTS Credits allocated for the Course Unit | 8,0 |