Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS | Kredi |
---|---|---|---|---|---|---|
YZM517 | İleri Programlama | Seçmeli Ders Grubu | 1 | 1 | 6.00 | 3.00 |
Yüksek Lisans
Bu dersin amacı, öğrencilerin yazılım geliştirme becerilerini ileri düzeyde artırmak, modern programlama paradigmalarını tanıtmak ve büyük ölçekli, modüler yazılım projeleri geliştirebilme yetkinliği kazandırmaktır.
1 | Öğrenci, ileri düzey programlama kavramlarını kullanarak modüler ve sürdürülebilir yazılımlar geliştirebilir. |
2 | Öğrenci, hata yakalama, çoklu iş parçacığı ve dosya işlemleri gibi ileri programlama tekniklerini etkili şekilde uygular. |
3 | Öğrenci, yazılım geliştirme sürecinde tasarım desenlerini ve test yöntemlerini kullanarak kaliteli kod üretir. |
Birinci Öğretim
Temel Programlama Veri Yapıları Nesne Tabanlı Programlama (önerilir)
Python, Java veya C++ dillerinden en az biri iyi derecede bilinmelidir. Öğrencilerin bireysel veya grup olarak yazılım projeleri geliştirmesi teşvik edilir. Sürüm kontrol sistemleri (Git gibi) hakkında ön bilgi faydalıdır.
Gelişmiş nesne tabanlı programlama Hata yakalama ve istisna yönetimi Dosya işlemleri ve veri formatları Çoklu iş parçacığı (multithreading) Ağ programlama temelleri Fonksiyonel programlama yaklaşımları Tasarım desenleri Yazılım test süreçleri Performans analizi ve bellek yönetimi
Hafta | Teorik | [OgretimYontemVeTeknikleri] | [OnHazirlik] |
---|---|---|---|
1 | Gelişmiş Nesne Tabanlı Programlama | Ders anlatımı ve örnek kod analizi | Temel nesne tabanlı programlama bilgisi |
2 | Sınıf Tasarımı ve Kalıtım | Uygulamalı ders, küçük kod projeleri | Sınıflar ve miras yapısına giriş |
3 | Hata Yakalama ve İstisna Yönetimi | Kodlama uygulamaları, örnek hata senaryoları | Try-catch bloklarının temel kullanımı |
4 | Dosya İşlemleri | Kod yazımı, dosya okuma/yazma uygulamaları | Temel dosya sistemi bilgisi |
5 | Veri Formatları (JSON, XML) | Kod uygulaması, veri okuma ve yazma | JSON/XML yapılarının temel kavranması |
6 | Fonksiyonel Programlama Yaklaşımları | Teorik açıklama ve fonksiyonel kod örnekleri | Lambda ifadeleri ve anonim fonksiyonlar hakkında bilgi |
7 | Lambda Fonksiyonları ve Yüksek Düzey Fonksiyonlar | Uygulamalı ders ve mini egzersizler | Fonksiyonel düşünce biçimi ile ilgili ön okuma |
8 | Çoklu İş Parçacığı (Multithreading) | Senaryo temelli uygulamalar, canlı gösterim | Thread mantığına giriş |
9 | Senkronizasyon ve Deadlock Kavramı | Tartışma, örnek kod analizi | Thread-safe programlama hakkında temel bilgi |
10 | Ağ Programlamaya Giriş | Kod yazımı ve istemci-sunucu uygulaması | TCP/IP temel kavramlarına göz atma |
11 | Tasarım Desenlerine Giriş | Teorik anlatım ve örnek senaryolar | Nesne yönelimli programlamada tekrar eden problemler |
12 | Singleton, Factory ve Observer Desenleri | Kod çözümlemesi ve şablon uygulamalar | Tasarım desenlerinin kullanım amaçları |
13 | Yazılım Test Süreçleri | Test kodu yazımı ve hata ayıklama | Unit test ve assert ifadeleri hakkında bilgi |
14 | Performans Analizi ve Optimizasyon | Profiling araçlarının kullanımı | Kod performansını etkileyen faktörler |
15 | Proje Geliştirme ve Kod Sürüm Yönetimi | Grup çalışması, Git uygulamaları | Git ve GitHub'a giriş, temel komutlar |
Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
---|---|---|
Ara Sınav | 1 | 100 |
Toplam | 100 | |
Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
Final Sınavı | 1 | 100 |
Toplam | 100 | |
Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
Yarıyıl (Yıl) Sonu Etkinlikleri | 60 |
Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
---|---|---|---|
Ara Sınav | 1 | 1 | 1 |
Final Sınavı | 1 | 1 | 1 |
Ara Sınav İçin Bireysel Çalışma | 1 | 72 | 72 |
Final Sınavı içiin Bireysel Çalışma | 1 | 76 | 76 |
Toplam İş Yükü (saat) | 150 |
PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 | PÇ 13 | PÇ 14 | PÇ 15 | |
ÖÇ 1 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
ÖÇ 2 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
ÖÇ 3 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |