GERİ DÖN

Ders Öğretim Planı


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
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek