| Dersin Türü | Seçmeli |
| Dersin Düzeyi | Tezsiz Yüksek Lisans |
| Dersin Yılı | - |
| Dersin Yarıyılı | - |
| AKTS | 10 |
| Öğretim Eleman(lar)ı |
- |
| Öğrenme Kazanımları |
Bu dersin sonunda öğrenciler;
- Programlama dillerinin temel bileşenlerini, veri türlerini ve kontrol yapılarını ileri düzeyde kullanma becerisi edinmek.
- Nesne Tabanlı Programlama (NTP) prensiplerini (kalıtım, çok biçimlilik, soyutlama) kullanarak modüler ve sürdürülebilir yazılımlar tasarlamak.
- Karmaşık veri yapılarını (listeler, ağaçlar, kuyruklar) ve bu yapılar üzerindeki operasyonları ihtiyaca yönelik olarak kurgulamak.
- Yazılım geliştirme sürecinde hata ayıklama (debugging), birim test (unit testing) ve kod optimizasyonu tekniklerini uygulamak.
- Bir dönem projesini analiz, tasarım ve kodlama aşamalarını kapsayacak şekilde uygulama düzeyinde geliştirebilecek yetkinliğe sahip olmak.
|
| Veriliş Biçimi | Yüz Yüze |
| Önkoşullar | Yok |
| Önerilen Dersler | |
| Ders Tanımı | Modern programlama dillerinin temel yapılarını, veri yapılarını ve algoritma geliştirme süreçlerini yüksek lisans düzeyinde ele alarak; karmaşık problemlerin çözümünde nesne tabanlı tasarım prensiplerini ve ileri düzey programlama tekniklerini uygulama yetkinliği kazandıran bir derstir. |
| Ders İçeriği |
| HAFTA |
KONULAR |
|
1. Hafta |
Programlama Temelleri: Değişkenler, Veri Tipleri ve Bellek Yönetimi Kavramları |
|
2. Hafta |
Kontrol Yapıları: Gelişmiş Döngüler ve Karar Mekanizmaları |
|
3. Hafta |
Fonksiyonel Programlama: Parametre Geçme Teknikleri, Özyineleme ve Fonksiyonel Kapsam |
|
4. Hafta |
Nesne Tabanlı Programlama (NTP) Giriş: Sınıf ve Nesne Tasarımı |
|
5. Hafta |
Nesne İlişkileri: Kalıtım (Inheritance) ve Arayüz (Interface) Yapıları |
|
6. Hafta |
Çok Biçimlilik (Polymorphism) ve Soyut Sınıf Tasarımı |
|
7. Hafta |
Hata ve İstisna Yönetimi (Exception Handling) Stratejileri |
|
8. Hafta |
Ara Sınav |
|
9. Hafta |
Dosya Sistemleri ve Giriş/Çıkış (I/O) İşlemleri |
|
10. Hafta |
Temel Veri Yapıları: Diziler, Listeler ve Sözlük Yapılarının Kullanımı |
|
11. Hafta |
İleri Veri Yapıları: Yığın (Stack), Kuyruk (Queue) ve Ağaç (Tree) Uygulamaları |
|
12. Hafta |
Algoritma Uygulamaları: Arama ve Sıralama Algoritmalarının Kodlanması |
|
13. Hafta |
Veritabanı Bağlantıları ve Temel CRUD Operasyonlarının Programlanması |
|
14. Hafta |
Modern Kütüphaneler ve Yazılım Geliştirme Araçlarının Entegrasyonu |
|
| Kaynaklar | 1. Deitel, P. J. ve Deitel, H. M. 2020. Java How to Program, Pearson Education, London.
2. Ders dokümanları
|
| Öğretim Yöntemleri |
- Tartışma
- Anlatım
- Soru-Cevap
- Sorun/Problem Çözme
|
| Değerlendirme |
|
Sayısı |
Toplam Katkısı (%) |
| Ara Sınav |
1 |
40 |
| Toplam(%) |
|
40 |
| Yıl İçinin Başarıya Oranı(%) |
|
40 |
| Finalin Başarıya Oranı(%) |
|
60 |
| Toplam(%) |
|
100 |
|
| AKTS İş Yükü |
| Aktivite |
Sayı |
Süre (Saat) |
İş Yükü |
| Ara Sınav |
1 |
1 |
1 |
| Kısa Sınavlara hazırlık |
|
|
|
| Sınıf Dışı Ders Çalışma Süresi |
14 |
10 |
140 |
| Final Sınavına Hazırlık |
14 |
3 |
42 |
| Ders Saati |
13 |
3 |
39 |
| Ara Sınava Hazırlık |
8 |
3 |
24 |
| Laboratuvar |
|
|
|
| Final Sınavı |
1 |
1 |
1 |
| Ödevler |
1 |
40 |
40 |
| Toplam İş Yükü | 287 |
| Toplam İş Yükü / 30 | 9.56 |
| Dersin AKTS Kredisi | 10 |
|
| Dil | Türkçe |
| Staj / Uygulama | Yok |