Yenilikçi Algoritmalar(IT 542)
| Ders Kodu | Dersin Adı | Yarıyıl | Teori | Uygulama | Lab | Kredisi | AKTS |
|---|---|---|---|---|---|---|---|
| IT 542 | Yenilikçi Algoritmalar | 2 | 4 | 0 | 0 | 3 | 8 |
| Ön Koşul | |
| Derse Kabul Koşulları |
| Dersin Dili | İngilizce |
| Türü | Zorunlu |
| Dersin Düzeyi | Yüksek Lisans |
| Dersi Veren(ler) | Gülfem ALPTEKİN gulfem@gmail.com (Email) Pınar ULUER puluer@gsu.edu.tr (Email) |
| Dersin Yardımcıları | |
| Dersin Amacı | Bu dersin amacı, öğrencilere algoritmaların temel kavramlarını, çeşitlerini ve uygulamalarını öğretmek, algoritma tasarımı ve analizi konusundaki yeteneklerini geliştirmektir. Ders, algoritma teorisi ve pratik uygulamaları arasındaki köprüyü kurmayı hedefler. Öğrenciler, algoritmaları ne zaman ve ne amaçla kullanacaklarını anlarlar ve karşılaştıkları problemi çözebilecek algoritma grubunu belirleyebilirler. Öğrencilerin, algoritmaların sosyal etkilerini ve potansiyel adaletsizliklerini anlayıp bilinçlenmelerini sağlamak diğer bir amaçtır. |
| İçerik |
1. Algoritmaların temelleri, günlük hayattaki rolü, tarihçesi, algoritma çeşitleri tarihçesi işlem süresi tanımı, hesaplama karmaşıklığı. 2. Algoritma karmaşıklık analizi, zaman ve hafıza karmaşıklığı, en iyi, ortalama ve en kötü durum analizleri ve örnekleri. 3. Temel algoritmalar ve karar verme mekanizmaları (Rassal algoritmalar, sıralama ve arama algoritmaları, en iyi ilk arama, A*, min-max algoritması) 4. Temel graf ve kısa yol algoritmaları, en küçük kapsar ağaç algoritmaları (Dolaşma algoritmaları, Dijkstra, Bellman-Ford, Floyd-Warshall) 5. Sezgisel ve meta-sezgisel algoritmalar (Yerel arama, benzetimli tavlama (simulated annealing), tabu arama) 6. Evrimsel algoritmalar (genetik algoritma, parçacık sürü optimizasyonu (particle swarm optimization), karınca kolonisi optimizasyonu (ant colony optimization), arı algoritması) 7. Dinamik programlama, açgözlü algoritmalar 8. Ara sınav 9. Planlama algoritmaları: Basit karar teorisi, oyun teorisi, pekiştirmeli öğrenme, belirsizlik altında karar verme 10. Algoritma etiği, adalet ve açık sorunlar 11. Öğrenci projeleri |
| Dersin Öğrenme Çıktıları |
Bu dersi başarıyla tamamlayan öğrenciler aşağıdaki becerilere sahip olacaklardır; 1. Algoritmaların temel prensiplerini ve algoritma analizinde kullanılan zaman ve hafıza verimliliği açısından analiz edebilir. 2. Geniş bir algoritma çeşitliliğini anlama, uygulama ve bu algoritmaları ne zaman kullanacaklarını belirleme yeteneği geliştirirler. 3. Evrimsel algoritmalar konusunda derinlemesine bilgi edinirler ve bu algoritmaları gerçek dünya problemlerini çözmek için nasıl kullanacaklarını öğrenirler. 4. Güncel ve yenilikçi algoritmalar hakkında bilgi edinirler, bu algoritmaları anlama ve onlar hakkında bilgiye dayalı tartışmalar yapma yeteneği kazanırlar. 5. Algoritma etiği ve taraflılık konularında bilgi edinirler ve teknolojik çözümler tasarlarken ve uygularken bu konuları dikkate alma yeteneği kazanırlar. |
| Öğretim Yöntemleri | Teorik ve pratik, sınıf ortamında ders anlatımı, karşılıklı soru - cevap, tartışma. |
| Kaynaklar |
1. T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, 4th edition, The MIT Press; (April 5, 2022). 2. S.M. LaValle, Planning Algorithms, Cambridge University Press; Illustrated edition (May 29, 2006). 3. A. Bhargava, Grokking Algorithms: An illustrated guide for programmers and other curious people, Manning Publications; 1. basım (31 Aralık 2015). |
Teori Konu Başlıkları
| Hafta | Konu Başlıkları |
|---|---|
| 1 | Algoritmaların temelleri, günlük hayattaki rolü, tarihçesi, algoritma çeşitleri tarihçesi işlem süresi tanımı, hesaplama karmaşıklığı. |
| 2 | Algoritma karmaşıklık analizi, zaman ve hafıza karmaşıklığı, en iyi, ortalama ve en kötü durum analizleri ve örnekleri. |
| 3 | Temel algoritmalar ve karar verme mekanizmaları (Rassal algoritmalar, sıralama ve arama algoritmaları, en iyi ilk arama, A*, min-max algoritması) |
| 4 | Temel graf ve kısa yol algoritmaları, en küçük kapsar ağaç algoritmaları (Dolaşma algoritmaları, Dijkstra, Bellman-Ford, Floyd-Warshall) |
| 5 | Sezgisel ve meta-sezgisel algoritmalar (Yerel arama, benzetimli tavlama (simulated annealing), tabu arama) |
| 6 | Evrimsel algoritmalar (genetik algoritma, parçacık sürü optimizasyonu (particle swarm optimization), karınca kolonisi optimizasyonu (ant colony optimization), arı algoritması) |
| 7 | Dinamik programlama, açgözlü algoritmalar |
| 8 | Ara sınav |
| 9 | Planlama algoritmaları: Basit karar teorisi, oyun teorisi, pekiştirmeli öğrenme, belirsizlik altında karar verme |
| 10 | Algoritma etiği, adalet ve açık sorunlar |
| 11 | Öğrenci projeleri sunumları |
Uygulama Konu Başlıkları
| Hafta | Konu Başlıkları |
|---|
Başarı Notuna Etki Oranları
| Sayı | Katkı Payı | |
|---|---|---|
| Yarıyıl içi çalışmaların başarı notuna katkısı | 1 | 50 |
| Yarıyıl sonu çalışmaların başarı notuna katkısı | 1 | 50 |
| Toplam | 2 | 100 |
Yarıyıl İçi Çalışmaları
| Sayı | Katkı Payı | |
|---|---|---|
| Ödevler | 0 | 0 |
| Sunum | 0 | 0 |
| Arasınavlar (Hazırlık Süresi Dahil) | 1 | 50 |
| Proje | 0 | 0 |
| Laboratuar | 0 | 0 |
| Diğer Uygulamalar | 0 | 0 |
| Kısa Sınavlar | 0 | 0 |
| Dönem Ödevi / Projesi | 0 | 0 |
| Portfolyo Çalışmaları | 0 | 0 |
| Raporlar | 0 | 0 |
| Öğrenme Günlükleri | 0 | 0 |
| Bitirme Tezi/Projesi | 0 | 0 |
| Seminer | 0 | 0 |
| Diğer | 0 | 0 |
| Bütünleme | 0 | 0 |
| Toplam | 1 | 50 |
| Numara | Program Yeterlilikleri | Puan | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 1 | Bilişim teknolojileri alanının çok disiplinli geniş kapsamını ve ilgili disiplinler arasıdaki etkileşimi tanımlar. | X | ||||
| 2 | Bilişim teknolojileri alanında uygulanan güncel teknik ve yöntemler ile bunların kısıtları, etkileri ve sonuçları hakkında kapsamlı bilgi sahibi olur. | X | ||||
| 3 | Bilişim teknolojileri alanında uygulamalı araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir ve uygular. | X | ||||
| 4 | Belirsiz, sınırlı ya da eksik verileri kullanarak, bilimsel yöntemlerle bilgiyi tamamlar ve uygular; değişik disiplinlere ait bilgileri bütünleştirir. | X | ||||
| 5 | Tanımlanmış mühendislik yönetimi problemlerini çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular. | X | ||||
| 6 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilir, bu tür takımlarda liderlik yapabilir ve karmaşık durumlarda çözüm yaklaşımları geliştirebilir; bağımsız çalışabilir ve sorumluluk alır. | X | ||||
| 7 | Bilişim teknolojileri alanının yeni ve gelişmekte olan uygulamalarının farkında olup, bunları inceleme ve öğrenme yeteneğine sahip olur. | X | ||||
| 8 | Teknoloji alanında kullanılan yöntem ve yazılımlar ile iletişim teknolojilerini ileri düzeyde kullanır. | X | ||||
| 9 | Bir yabancı dili en az Avrupa Dil Portfoyü B2 Genel Düzeyinde kullanarak, sözlü ve yazılı iletişim kurar. | X | ||||
| 10 | Girişimcilik ve yenilikçilik boyutlarını dikkate alarak bilişim teknolojileri uygulamalarını gerçekleştirebilir. | X | ||||
| 11 | Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir. | X | ||||
| Etkinlikler | Sayı | Süre | Toplam İş Yükü |
|---|---|---|---|
| Ders Süresi | 11 | 4 | 44 |
| Sınıf Dışı Çalışma Süresi | 11 | 5 | 55 |
| Ödevler | 0 | 0 | 0 |
| Sunum | 0 | 0 | 0 |
| Arasınavlar (Hazırlık Süresi Dahil) | 1 | 45 | 45 |
| Proje | 0 | 0 | 0 |
| Laboratuar | 0 | 0 | 0 |
| Diğer Uygulamalar | 0 | 0 | 0 |
| Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) | 1 | 45 | 45 |
| Kısa Sınavlar | 0 | 0 | 0 |
| Dönem Ödevi / Projesi | 0 | 0 | 0 |
| Portfolyo Çalışmaları | 0 | 0 | 0 |
| Raporlar | 0 | 0 | 0 |
| Öğrenme Günlükleri | 0 | 0 | 0 |
| Bitirme Tezi/Projesi | 0 | 0 | 0 |
| Seminer | 0 | 0 | 0 |
| Diğer | 0 | 0 | 0 |
| Bütünleme | 0 | 0 | 0 |
| Ts Yıl Sonu | 0 | 0 | 0 |
| Hazırlık Yıl Sonu | 0 | 0 | 0 |
| Hazırlık Bütünleme | 0 | 0 | 0 |
| Toplam İş Yükü | 189 | ||
| Toplam İş Yükü / 25 | 7.56 | ||
| Dersin AKTS Kredisi | 8 | ||


