Hem uygulamalı hem de teorik bilgisayar bilimleri ile ilgili olan hesapsal problemleri çözmek için temel algoritma dizayn tekniklerini ve bu teknikler sonucunda geliştirilen algoritmaların performansını incelemek için kullanılan teknikleri tanıtmak. ALgoritma analizi için matematik bilgisi sıralama, arama, grafik problemleri ve geometrik problemler için kullanılan temel algoritma teknikleri ele alınacaktır.
Dersin İçeriği
Bu ders; Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması. , Asimtotik gösterim. ,Böl ve kazan algorithma metotu ,Yinelemelerin çözümü ,Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama. ,Yığın sıralama ,Hızlı Sıralama ,Lineer zamanda sıralama ,Ara sınav hazırlık,Ortalama ve sıra istatiği. ,Dinamik Programlama ,Açgözlü(Greedy) Algoritmalar ,Amortize Analiz, Dinamik Tablolar ,Çizgeler, Breadth-first Search (BFS). ; konularını içermektedir.
Dersin Öğrenme Kazanımları
Öğretim Yöntemleri
Ölçme Yöntemleri
1) Algoritma analizinin ve yeni algoritma dizayn etmenin ana ilkelerini açıklar
12, 14, 16, 9
A, E
2) Karmaşık algoritmalari daha önce öğrendikleri temel veri yapılarını kullanarak yapılandırır
12, 14, 16, 9
A, E
3) Ağaçları kullanan karmaşık algoritmaları geliştirerek bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
4) Çizge kullanan karmaşık algoritmaları geliştirerek bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
5) Verilen yeni hesapsal probleme sistematik bir şeklide bakabilecek ve çözüm için özgün algoritmalar ve veri yapılarıni dinamik programlama, böl ve kazan gibi metotlar kullanarak formüle eder
12, 14, 16, 19, 9
A, E
Öğretim Yöntemleri:
10: Tartışma Yöntemi, 12: Problem Çözme Yöntemi, 14: Bireysel Çalışma Yöntemi, 16: Soru - Cevap Tekniği , 17: Deney yapma Tekniği, 19: Beyin Fırtınası Tekniği, 9: Anlatım Yöntemi
Ölçme Yöntemleri:
A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi
Ders Akışı
Sıra
Konular
Ön Hazırlık
1
Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması.
Ders sunuları ve ders kitabının 1. ve 2. bölümü
2
Asimtotik gösterim.
Ders sunuları ve ders kitabının 3. bölümü.
3
Böl ve kazan algorithma metotu
Ders sunuları ve ders kitabının 4. bölümü
4
Yinelemelerin çözümü
Ders sunuları ve ders kitabının 4. bölümü
5
Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama.
Ders sunuları ve ders kitabının 5. bölümü
6
Yığın sıralama
Ders sunuları ve ders kitabının 6. bölümü
7
Hızlı Sıralama
Ders sunuları ve ders kitabının 7. bölümü
8
Lineer zamanda sıralama
Ders sunuları ve ders kitabının 8. bölümü
9
Ara sınav hazırlık
9. haftaya kadar olan sunular ve ders kitabının 1'den 9. Bölüme kadar olan kısımlar.
10
Ortalama ve sıra istatiği.
Ders sunuları ve ders kitabının 9. bölümü
11
Dinamik Programlama
Ders sunuları ve ders kitabının 15. bölümü
12
Açgözlü(Greedy) Algoritmalar
Ders sunuları ve ders kitabının 16. bölümü
13
Amortize Analiz, Dinamik Tablolar
Ders sunuları ve ders kitabının 17. bölümü
14
Çizgeler, Breadth-first Search (BFS).
Ders sunuları ve ders kitabının 22. bölümü
Kaynak
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mit Press and McGraw-Hill, 2009.
Derslerde dağıtılacak olan sunum ve notlar. T
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı
No
Program Yeterliliği
Katkı Düzeyi
1
2
3
4
5
1
Temel bilimleri, matematik ve mühendislik bilimlerini üst düzeyde anlar ve uygular, alanında en son gelişmeler dahil olmak üzere genişlemesine ve derinlemesine bilgi sahibidir.
X
2
Mühendisliğin ilişkili olduğu disiplinler arası etkileşimi kavrar, yeni ve karmaşık fikirleri analiz, sentez ve değerlendirmede uzmanlık gerektiren bilgileri kullanarak özgün sonuçlara ulaşır.
X
3
Bir alanda en yeni bilgilere ulaşır ve bunları kavrayarak araştırma yapabilmek için gerekli yöntem ve becerilerde üst düzeyde yeterliğe sahiptir.
X
4
Bilime veya teknolojiye yenilik getiren, yeni bir bilimsel yöntem veya teknolojik ürün/süreç geliştiren ya da bilinen bir yöntemi yeni bir alana uygulayan kapsamlı bir çalışma yapar.
X
5
Akademik çalışmalarının çıktılarını saygın akademik ortamlarda yayınlayarak bilim ve teknoloji literatürüne katkıda bulunur.
6
Bilimsel, teknolojik, sosyal ve kültürel gelişmeleri değerlendirerek bilimsel tarafsızlık ve etik sorumluluk bilinciyle topluma aktarır.
7
Özgün bir araştırma sürecini bağımsız olarak algılar, tasarlar, uygular ve sonuçlandırır; bu süreci yönetir.
X
8
Bilimsel bilgi birikimini yazılı ve sözlü olarak etkin bir şekilde ifade eder, en az bir yabancı dilde Avrupa Dil Portföyü C1 Genel Düzeyinde iletişim kurar ve iletişim teknolojilerini ileri düzeyde kullanır
X
9
Uzmanlık alanındaki fikirlerin ve gelişmelerin eleştirel analizini, sentezini ve değerlendirmesini yapar.
X
10
Mühendislik alanındaki bilimsel, teknolojik, sosyal veya kültürel ilerlemeleri tanıtır, yaşadığı toplumun bilgi toplumu olma ve bunu sürdürebilme sürecine katkıda bulunur ve toplumsal, bilimsel, kültürel ve etik değerlerin gelişimini destekler.
Değerlendirme Sistemi
Katkı Düzeyi
Mutlak Değerlendirme
Ara Sınavın Başarıya Oranı
50
Genel Sınavın Başarıya Oranı
50
Toplam
100
AKTS / İşyükü Tablosu
Etkinlik
Sayı
Süresi (Saat)
Toplam İş Yükü (Saat)
Ders Saati
14
3
42
Rehberli Problem Çözme
14
4
56
Problem Çözümü / Ödev / Proje / Rapor Tanzimi
6
8
48
Okul Dışı Diğer Faaliyetler
0
0
0
Proje Sunumu / Seminer
0
0
0
Kısa Sınav (QUİZ) ve Hazırlığı
0
0
0
Ara Sınav ve Hazırlığı
1
40
40
Genel Sınav ve Hazırlığı
1
40
40
Performans Görevi, Bakım Planı
0
0
0
Toplam İş Yükü (Saat)
226
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(226/30)
8
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır.
Dersin Detaylı Bilgileri
Ders Tanımı
Ders
Kodu
Yarıyıl
T+U Saat
Kredi
AKTS
İLERİ ALGORİTMA ANALİZİ VE TASARIMI
COED1212915
Bahar Dönemi
3+0
3
8
Ders Programı
Pazartesi 15:30-16:15
Pazartesi 16:30-17:15
Pazartesi 17:30-18:15
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili
İngilizce
Dersin Seviyesi
Doktora
Dersin Türü
Programa Bağlı Seçmeli
Dersin Koordinatörü
Prof.Dr. Reda ALHAJJ
Dersi Verenler
Prof.Dr. Reda ALHAJJ
Dersin Yardımcıları
Dersin Amacı
Hem uygulamalı hem de teorik bilgisayar bilimleri ile ilgili olan hesapsal problemleri çözmek için temel algoritma dizayn tekniklerini ve bu teknikler sonucunda geliştirilen algoritmaların performansını incelemek için kullanılan teknikleri tanıtmak. ALgoritma analizi için matematik bilgisi sıralama, arama, grafik problemleri ve geometrik problemler için kullanılan temel algoritma teknikleri ele alınacaktır.
Dersin İçeriği
Bu ders; Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması. , Asimtotik gösterim. ,Böl ve kazan algorithma metotu ,Yinelemelerin çözümü ,Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama. ,Yığın sıralama ,Hızlı Sıralama ,Lineer zamanda sıralama ,Ara sınav hazırlık,Ortalama ve sıra istatiği. ,Dinamik Programlama ,Açgözlü(Greedy) Algoritmalar ,Amortize Analiz, Dinamik Tablolar ,Çizgeler, Breadth-first Search (BFS). ; konularını içermektedir.
Dersin Öğrenme Kazanımları
Öğretim Yöntemleri
Ölçme Yöntemleri
1) Algoritma analizinin ve yeni algoritma dizayn etmenin ana ilkelerini açıklar
12, 14, 16, 9
A, E
2) Karmaşık algoritmalari daha önce öğrendikleri temel veri yapılarını kullanarak yapılandırır
12, 14, 16, 9
A, E
3) Ağaçları kullanan karmaşık algoritmaları geliştirerek bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
4) Çizge kullanan karmaşık algoritmaları geliştirerek bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
5) Verilen yeni hesapsal probleme sistematik bir şeklide bakabilecek ve çözüm için özgün algoritmalar ve veri yapılarıni dinamik programlama, böl ve kazan gibi metotlar kullanarak formüle eder
12, 14, 16, 19, 9
A, E
Öğretim Yöntemleri:
10: Tartışma Yöntemi, 12: Problem Çözme Yöntemi, 14: Bireysel Çalışma Yöntemi, 16: Soru - Cevap Tekniği , 17: Deney yapma Tekniği, 19: Beyin Fırtınası Tekniği, 9: Anlatım Yöntemi
Ölçme Yöntemleri:
A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi
Ders Akışı
Sıra
Konular
Ön Hazırlık
1
Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması.
Ders sunuları ve ders kitabının 1. ve 2. bölümü
2
Asimtotik gösterim.
Ders sunuları ve ders kitabının 3. bölümü.
3
Böl ve kazan algorithma metotu
Ders sunuları ve ders kitabının 4. bölümü
4
Yinelemelerin çözümü
Ders sunuları ve ders kitabının 4. bölümü
5
Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama.
Ders sunuları ve ders kitabının 5. bölümü
6
Yığın sıralama
Ders sunuları ve ders kitabının 6. bölümü
7
Hızlı Sıralama
Ders sunuları ve ders kitabının 7. bölümü
8
Lineer zamanda sıralama
Ders sunuları ve ders kitabının 8. bölümü
9
Ara sınav hazırlık
9. haftaya kadar olan sunular ve ders kitabının 1'den 9. Bölüme kadar olan kısımlar.
10
Ortalama ve sıra istatiği.
Ders sunuları ve ders kitabının 9. bölümü
11
Dinamik Programlama
Ders sunuları ve ders kitabının 15. bölümü
12
Açgözlü(Greedy) Algoritmalar
Ders sunuları ve ders kitabının 16. bölümü
13
Amortize Analiz, Dinamik Tablolar
Ders sunuları ve ders kitabının 17. bölümü
14
Çizgeler, Breadth-first Search (BFS).
Ders sunuları ve ders kitabının 22. bölümü
Kaynak
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mit Press and McGraw-Hill, 2009.
Derslerde dağıtılacak olan sunum ve notlar. T
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı
No
Program Yeterliliği
Katkı Düzeyi
1
2
3
4
5
1
Temel bilimleri, matematik ve mühendislik bilimlerini üst düzeyde anlar ve uygular, alanında en son gelişmeler dahil olmak üzere genişlemesine ve derinlemesine bilgi sahibidir.
X
2
Mühendisliğin ilişkili olduğu disiplinler arası etkileşimi kavrar, yeni ve karmaşık fikirleri analiz, sentez ve değerlendirmede uzmanlık gerektiren bilgileri kullanarak özgün sonuçlara ulaşır.
X
3
Bir alanda en yeni bilgilere ulaşır ve bunları kavrayarak araştırma yapabilmek için gerekli yöntem ve becerilerde üst düzeyde yeterliğe sahiptir.
X
4
Bilime veya teknolojiye yenilik getiren, yeni bir bilimsel yöntem veya teknolojik ürün/süreç geliştiren ya da bilinen bir yöntemi yeni bir alana uygulayan kapsamlı bir çalışma yapar.
X
5
Akademik çalışmalarının çıktılarını saygın akademik ortamlarda yayınlayarak bilim ve teknoloji literatürüne katkıda bulunur.
6
Bilimsel, teknolojik, sosyal ve kültürel gelişmeleri değerlendirerek bilimsel tarafsızlık ve etik sorumluluk bilinciyle topluma aktarır.
7
Özgün bir araştırma sürecini bağımsız olarak algılar, tasarlar, uygular ve sonuçlandırır; bu süreci yönetir.
X
8
Bilimsel bilgi birikimini yazılı ve sözlü olarak etkin bir şekilde ifade eder, en az bir yabancı dilde Avrupa Dil Portföyü C1 Genel Düzeyinde iletişim kurar ve iletişim teknolojilerini ileri düzeyde kullanır
X
9
Uzmanlık alanındaki fikirlerin ve gelişmelerin eleştirel analizini, sentezini ve değerlendirmesini yapar.
X
10
Mühendislik alanındaki bilimsel, teknolojik, sosyal veya kültürel ilerlemeleri tanıtır, yaşadığı toplumun bilgi toplumu olma ve bunu sürdürebilme sürecine katkıda bulunur ve toplumsal, bilimsel, kültürel ve etik değerlerin gelişimini destekler.