Kodu | Dersin Adı | Yarıyıl | Süresi(T+U) | Kredisi | AKTS Kredisi |
---|---|---|---|---|---|
BIL201 | NESNE YÖNELİMLİ PROGRAMLAMA | 3 | 5 | 4 | 8 |
DERS BİLGİLERİ |
|
---|---|
Dersin Öğretim Dili : | Türkçe |
Dersin Düzeyi | LİSANS, TYY: + 6.Düzey, EQF-LLL: 6.Düzey, QF-EHEA: 1.Düzey |
Dersin Türü | Zorunlu |
Dersin Veriliş Şekli | - |
Dersin Koordinatörü | Dr.Öğr.Üyesi SERKAN GÖNEN |
Dersi Veren Öğretim Üyesi/Öğretim Görevlisi | Dr.Öğr.Üyesi NİHAL ALTUNTAŞ |
Ders Ön Koşulu | Yok |
AMAÇ VE İÇERİK |
|
---|---|
Amaç: | 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. |
İçerik: | 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 |
DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.) |
---|
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. |
HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI |
|||
---|---|---|---|
Hafta | Ön Hazırlık | Konular | Yöntem |
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 | - |
KAYNAKLAR |
---|
Java How to Program, Harvey M. Deitel & Paul J. Deitel, Prentice-Hall. 7. Basım, 2007 |
Java: Object Oriented Programming, Dr. Ali Orhan Aydın, Pusula Publication, 2012. |
Nesne Tabanlı Programlama (PYTHON) , Prof. Dr. Cahit Karakuş, Balbiti, Haziran 2023. |
ÖLÇME VE DEĞERLENDİRME |
|||
---|---|---|---|
Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi | Etkinlik Sayısı | Katkı Yüzdesi | Açıklama |
(0) Etkisiz | (1) En Düşük | (2) Düşük | (3) Orta | (4) İyi | (5) Çok İyi |
---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 |
KNOWLEDGE | |||||||
---|---|---|---|---|---|---|---|
Theoretical | |||||||
Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Ability to identify, analyze, design, model and solve complex engineering problems based on engineering, science and mathematics fundamentals
|
4 |
KNOWLEDGE | |||||||
---|---|---|---|---|---|---|---|
Factual | |||||||
Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Ability to apply engineering design to produce solutions that meet specific needs, taking into account global, cultural, social, environmental and economic factors as well as public health, safety and well-being
|
3 |
SKILLS | |||||||
---|---|---|---|---|---|---|---|
Cognitive | |||||||
Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Ability to communicate effectively with various stakeholders
|
4 |
SKILLS | |||||||
---|---|---|---|---|---|---|---|
Practical | |||||||
Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
The ability to recognize ethical and professional responsibilities in engineering and make informed decisions considering the impact of engineering solutions in their global, economic, environmental and social contexts
|
3 |
OCCUPATIONAL | |||||||
---|---|---|---|---|---|---|---|
Autonomy & Responsibility | |||||||
Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
The ability to recognize ethical and professional responsibilities in engineering and make informed decisions considering the impact of engineering solutions in their global, economic, environmental and social contexts
|
2 |
OCCUPATIONAL | |||||||
---|---|---|---|---|---|---|---|
Learning to Learn | |||||||
Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Ability to acquire new knowledge and find ways to apply it when necessary, using appropriate learning strategies
|
2 |
OCCUPATIONAL | |||||||
---|---|---|---|---|---|---|---|
Communication & Social | |||||||
Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Ability to work effectively in a team where its members lead together, create a collaborative and inclusive environment, set goals, plan tasks, and meet goals
|
2 |
OCCUPATIONAL | |||||||
---|---|---|---|---|---|---|---|
Occupational and/or Vocational | |||||||
Program Yeterlilikleri/Çıktıları | Katkı Düzeyi | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Ability to design and conduct appropriate experiments, analyze and interpret data, and apply engineering principles to draw conclusions
|
3 |
DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
|||
---|---|---|---|
Öğrenme-Öğretme Etkinlikleri İş Yükü | |||
Öğrenme-Öğretme Etkinlikleri | Etkinlik(hafta sayısı) | Süresi(saat sayısı) | Toplam İş Yükü |
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 |
Genel Toplam | 208 | ||
Toplam İş Yükü / 25.5 | 8,2 | ||
Dersin AKTS(ECTS) Kredisi | 8,0 |