BİLGİ TEKNOLOJİLERİ (YL) (TEZLİ) (İNGİLİZCE)
Yüksek Lisans TYYÇ: 7. Düzey QF-EHEA: 2. Düzey EQF-LLL: 7. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 3000003001
Ders İsmi: Advanced Algorithms
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 9
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Uzmanlık Alanı Zorunlu
Dersin Seviyesi:
Yüksek Lisans TYYÇ:7. Düzey QF-EHEA:2. Düzey EQF-LLL:7. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Doç. Dr. Fatih KOÇAN
Dersi Veren(ler): Prof. Dr. Naim Mahmood Musleh AJLOUNI
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Kursu başarıyla tamamladıktan sonra öğrenciler aşağıdaki konuları öğreneceklerdir:
1) NP-Zor Problemler için Yaklaşım Algoritması Tasarımı
2) Çevrimiçi algoritma tasarımı
3) Öğrenme algoritması tasarımı
4) Akış algoritması tasarımı
Dersin İçeriği: Bu derste algoritma tasarlama ve analiz etme tekniklerini inceleyeceğiz. Lisans algoritmaları dersleri tipik olarak kesin, verimli (polinom zamanlı) algoritmalar tasarlama tekniklerini kapsar. Bu dersin odak noktası farklıdır. Polinom zaman kesin algoritmalarının bilinmediği problemleri, katı kaynak kısıtlamaları altındaki problemleri ve optimallik kavramının iyi tanımlanmadığı problemleri ele alacağız. Her durumda, performansları üzerinde kanıtlanabilir garantileri olan verimli algoritmalar tasarlamaya odaklanacağız.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Takdim, Aç Gözlü Algoritmalar, Böl-ve-Çöz Algoritmaları ve Dinamik Programlama algoritmaları Chawla'nın 1. ve 2. dersi
2) Dinamik Programlama II ve Ağ Akışı chawla'nın 3. ve 4. ders notları
3) Ağ akışı uygulamaları, Rastgele algoritmalar Chawla'nın 5. ve 6. ders notları
4) Rastgele yük dengeleme ve hashing (özütleme), Hashing ve NP-Tamlık Chawla'nın 7.ve 8. ders notları
5) NP-Tamlık, Yaklaşım Algoritmaları, Yerel Arama Tabanlı Yaklaşım Chawla'nın 9. ve 10. ders notları
6) Tesis Konumu devamı., Doğrusal Programlama, Rastgele yuvarlama, konsantrasyon sınırları Chawla'nın 11. ve 12. ders notları
7) Rastgele yuvarlama (devamı), LP dualitesi, Primal-Dual Algoritmalar Chawla'nın 13. ve 14. ders notları
8) Primal-Dual Algoritmalar, Minimax Teoremi ve Yarı Kesin Programlama Chawla'nın 15. ve 16. ders notları
9) Primal-Dual Algoritmalar, Minimax Teoremi ve Yarı Kesin Programlama Chawla'nın 17. ve 18. ders notları
10) SDP ile Max-Cut devamı, Akış Algoritmaları, Akış Algoritmaları(devamı) Chawla'nın 19. ve 20. ders notları
11) Akış algoritmaları (devamı) ve Çevrimiçi algoritmalar, Önbelleğe Alma Algoritmaları Chawla'nın 21. ve 22. ders notları
12) Önbelleğe alma ve K-Sunucu problemi, k-sunucu Problemi(devam); Çevrimiçi öğrenme Chawla'nın 23. ve 24. ders notları
13) Ağırlıklı Çoğunluk, Hataya Bağlı Model ve Winnow Algoritması, MB Modeli, Perceptron Alg. ve PAC Modeli Chawla'nın 25. ve 26. ders notları
14) PAC Modelinde Güçlendirme, PAC Öğrenimi Chawla'nın 27. ve 28. ders notları
15) Rastgele Yürüyüşler ve Markov Zincirleri, Rastgele Yürüyüşler ve Markov zincirleri: direnç yöntemi. Chawla'nın 29. ve 30. ders notları

Kaynaklar

Ders Notları / Kitaplar: Shuchi Chawla's lecture notes on Advanced Algorithms
Diğer Kaynaklar: Algorithm Design by John Kleinberg and Eva Tardos
40 Algorithms Every Programmer Should Know: Python algorithms to live by to enhance your problem-solving skills, 2nd Edition by Imran Ahmad
Algorithms for VLSI Design Automation by Sabih H. Gerez

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları
Program Kazanımları
1) Yazılım mühendisliği, veri yönetimi ve bilgisayar güvenliği gibi temel bilgi teknolojilerindeki güncel teknik kavramları ve uygulamaları kullanma becerisi.
2) Kullanıcı ihtiyaçlarının belirlenmesi, analiz edilmesi ve bilgisayar tabanlı sistemlerin seçiminde, değerlendirilmesinde ve yönetiminde kullanımının anlaşılması.
3) Veri yapılarını kullanma ve algoritma geliştirme becerisi.
4) Karmaşık büyük veri sistemlerini analiz etme ve yorumlama becerisi.
5) Makine öğrenmesindeki kavram ve algoritmaların yorumlanması ve uygulanması becerisi.
6) Veri analizi alanındaki derin öğrenmenin Matematik temellerinin anlaşılması ve teoriyi uygulama becerisi.
7) Karmaşık veri yapılarını çözme, derin öğrenme modelleri geliştirme ve uygulama becerisi ve bu konularla ilgili yapay zeka odaklı araştırmaları yorumlama becerisi.
8) Görüntü analizi, doğal dil işleme ve öneri sistemlerindeki sorunları çözmek için derin öğrenme tekniklerini uygulama ve gerçek dünya veri kümeleri ve projelerini yorumlama becerisi.
9) Dijital sinyal işlemenin temel prensiplerini ve matematiksel altyapısını pratik uygulamalara aktarma becerisi.
10) İnternet aracılığıyla kullanılan araç ve teknolojiler ile sunucu kodlama dilleri ve araçları için kullanılan farklı teknolojiler hakkında bilgi kazanılması.
11) Tek hücreli organizmalarda genetik bilgi akışı ve çok hücreli organizmalarda genlerin nasıl işlediğinin anlaşılması ve biyoteknoloji alanındaki uygulamaları yorumlama ve uygulama becerisi.
12) Etik değerlerin bilincinde olunması ve bu değerler çerçevesinde araştırma ve uygulama yapılması gerekliliğinin anlaşılması.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Yazılım mühendisliği, veri yönetimi ve bilgisayar güvenliği gibi temel bilgi teknolojilerindeki güncel teknik kavramları ve uygulamaları kullanma becerisi.
2) Kullanıcı ihtiyaçlarının belirlenmesi, analiz edilmesi ve bilgisayar tabanlı sistemlerin seçiminde, değerlendirilmesinde ve yönetiminde kullanımının anlaşılması.
3) Veri yapılarını kullanma ve algoritma geliştirme becerisi.
4) Karmaşık büyük veri sistemlerini analiz etme ve yorumlama becerisi.
5) Makine öğrenmesindeki kavram ve algoritmaların yorumlanması ve uygulanması becerisi.
6) Veri analizi alanındaki derin öğrenmenin Matematik temellerinin anlaşılması ve teoriyi uygulama becerisi.
7) Karmaşık veri yapılarını çözme, derin öğrenme modelleri geliştirme ve uygulama becerisi ve bu konularla ilgili yapay zeka odaklı araştırmaları yorumlama becerisi.
8) Görüntü analizi, doğal dil işleme ve öneri sistemlerindeki sorunları çözmek için derin öğrenme tekniklerini uygulama ve gerçek dünya veri kümeleri ve projelerini yorumlama becerisi.
9) Dijital sinyal işlemenin temel prensiplerini ve matematiksel altyapısını pratik uygulamalara aktarma becerisi.
10) İnternet aracılığıyla kullanılan araç ve teknolojiler ile sunucu kodlama dilleri ve araçları için kullanılan farklı teknolojiler hakkında bilgi kazanılması.
11) Tek hücreli organizmalarda genetik bilgi akışı ve çok hücreli organizmalarda genlerin nasıl işlediğinin anlaşılması ve biyoteknoloji alanındaki uygulamaları yorumlama ve uygulama becerisi.
12) Etik değerlerin bilincinde olunması ve bu değerler çerçevesinde araştırma ve uygulama yapılması gerekliliğinin anlaşılması.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Toplam %
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 0
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI %
Toplam %

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 15 3 45
Proje 1 60 60
Ödevler 14 4 56
Ara Sınavlar 1 3 3
Final 1 3 3
Toplam İş Yükü 167