AKTS - Algoritma ve Optimizasyon Yöntemleri
Algoritma ve Optimizasyon Yöntemleri (SE328) Ders Detayları
| Ders Adı | Ders Kodu | Dönemi | Saati | Uygulama Saati | Laboratuar Hours | Kredi | AKTS |
|---|---|---|---|---|---|---|---|
| Algoritma ve Optimizasyon Yöntemleri | SE328 | 6. Dönem | 3 | 0 | 0 | 3 | 5 |
| Ön Koşul Ders(ler)i |
|---|
| CMPE226 |
| Dersin Dili | İngilizce |
|---|---|
| Dersin Türü | Zorunlu Bölüm Dersleri |
| Dersin Seviyesi | Lisans |
| Ders Verilme Şekli | Yüz Yüze |
| Dersin Öğrenme ve Öğretme Teknikleri | Anlatım. |
| Dersin Öğretmen(ler)i |
|
| Dersin Amacı | Bu ders, öğrencilere algortimaların nasıl analiz ve dizayn edileceğini öğretmeyi hedeflemektedir. Ayrıca, öğrenciler optimizasyon problemleri için optimizasyon yöntemlerini uygulamayı da başarabileceklerdir. |
| Dersin Eğitim Çıktıları |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
| Dersin İçeriği | Algoritma tasarımı ve analizi; algoritmaların matematiksel karmaşıklığı; master teoremi; azalt-ve-fethet; böl-ve-fethet; dönüştür-ve-fethet, bazı optimizasyon tekniklerine giriş; dinamik programlama; açgözlü tekniği; döngülü iyileştirme; algoritma güç sınırlamaları ile başa çıkma. |
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları
| Hafta | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Algoritmaların Rolü ve Başlangıç | CLRS Bölüm 1-2 |
| 2 | Fonksiyonların Büyümesi ve Asimtotik gösterim | CLRS Bölüm 3 |
| 3 | Özyinelemeli Eşitliklerinin Çözümü: Yerine koyma Metodu | CLRS Bölüm 4 |
| 4 | Özyinelemeli Eşitliklerin Çözümü: Özyineleme-Ağacı Metodu, Master Metodu | CLRS Bölüm 4 |
| 5 | Kaba Kuvvet Yaklaşımı ve Kapsamlı Arama | LVTN Bölüm 3 & CLRS Bölüm 22 |
| 6 | Azalt-ve- Fethet | LVTN Bölüm 4 & CLRS Bölüm 22 |
| 7 | Böl-ve-Fethet | LVTN Bölüm 5 & CLRS Bölüm 7 |
| 8 | Dönüştür-ve- Fethet | LVTN Bölüm 6 & CLRS Bölüm 6 |
| 9 | Dinamik Programlama | LVTN Ch. 8 & CLRS Ch. 15 |
| 10 | Dinamik Programlama | LVTN Bölüm 8 & CLRS Bölüm 15 |
| 11 | Açgözlü Algoritmalar | LVTN Bölüm 9 & CLRS Bölüm 16 |
| 12 | Açgözlü Algoritmalar | LVTN Bölüm 9 & CLRS Bölüm 16 |
| 13 | Döngüsel İyileştirme: Simplex Metodu | LVTN Bölüm 10 |
| 14 | Algoritmik Gücün Sınırları ve Bunlarla Başa Çıkma, P, NP, NP-Tam Sınıfları | LVTN Bölüm 11 |
| 15 | Final Sınavı | |
| 16 | Final Sınavı |
Kaynaklar
| Ders Kitabı | 1. Anany Levitin, Introduction to the Design & Analysis of Algorithms, 3rd edi-tion, Pearson, 2012. |
|---|---|
| Diğer Kaynaklar | 2. T.H.Cormen, C.E.Leiserson, R.L.Rivest and C.Stein: Introduction to Algorithms, MIT Press 2001. |
| 3. E.Horowitz, S.Sahni: Fundamentals of Computer Algorithms, Computer Sci-ence Press, 1989. | |
| 4. E.Horowitz, S.Sahni, S.Rajasekeran, Computer Algorithms, ISBN: 978-0-929306-41-4, Silicon Press, 2008. | |
| 5. J.Kleinberg, E.Tardos, Algorithm Design, Addison – Wesley, ISBN: 0-321-29535-8, 2006. | |
| 6. A.V.Aho, J.E.Hopcroft, J.D.Ullman, The Design and Analysis of Computer Algo-rithms, Addison-Wesley Series in Computer Science and Information Pro-cessing, 1979. | |
| 7. S.S. Skiena, The Algorithm Design Manual, Springer – Verlag, New York, 1998. |
Değerlendirme System
| Çalışmalar | Sayı | Katkı Payı |
|---|---|---|
| Devam/Katılım | - | - |
| Laboratuar | - | - |
| Uygulama | - | - |
| Alan Çalışması | - | - |
| Derse Özgü Staj | - | - |
| Küçük Sınavlar/Stüdyo Kritiği | - | - |
| Ödevler | 3 | 15 |
| Sunum | - | - |
| Projeler | - | - |
| Rapor | - | - |
| Seminer | - | - |
| Ara Sınavlar/Ara Juri | 2 | 50 |
| Genel Sınav/Final Juri | 1 | 35 |
| Toplam | 6 | 100 |
| Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı | 65 |
|---|---|
| Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı | 35 |
| Toplam | 100 |
Kurs Kategorisi
| Temel Meslek Dersleri | |
|---|---|
| Uzmanlık/Alan Dersleri | X |
| Destek Dersleri | |
| İletişim ve Yönetim Becerileri Dersleri | |
| Aktarılabilir Beceri Dersleri |
Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi
| # | Program Yeterlilikleri / Çıktıları | Katkı Düzeyi | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 1 | Matematik, fen bilimleri ve yazılım mühendisliği disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisini kazanır. | X | ||||
| 2 | Karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisini edinir. | X | ||||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisini kazanır. | X | ||||
| 4 | Yazılım mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisini gösterir. | X | ||||
| 5 | Karmaşık mühendislik problemlerinin veya yazılım mühendisliği disiplinine özgü araştırma konularının incelenmesi için, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisini geliştirir. | X | ||||
| 6 | Yazlım mühendisliği ile ilgili alanlarda disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi gösterir. | X | ||||
| 7 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi gösterir. | |||||
| 8 | En az bir yabancı dil bilgisi alır; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi kazanır. | |||||
| 9 | Yaşam boyu öğrenmenin gerekliliği knousnda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisini edinir. | |||||
| 10 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk hakkında bilgi sahip olur. | |||||
| 11 | Yazılım mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi sahibi olur. | |||||
| 12 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatı uygulamaları hakkında bilgi sahibi olur. | |||||
| 13 | Girişimcilik ve yenilikçilik hakkında farkındalık kazanır. | |||||
| 14 | Sürdürülebilir kalkınma hakkında bilgi sahibi olur. | |||||
| 15 | Yazılım mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibi olur. | X | ||||
| 16 | Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık kazanır. | |||||
| 17 | Yazılım alternatiflerini irdeleyerek bilgisayar tabanlı sistemlerin modellenmesi ve tasarımında, algoritma prensiplerini, matematiksel temelleri ve bilgisayar bilimleri teorisini uygulama becerisini uygular. | X | ||||
| 18 | Yazılım sistemlerinin analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesinde mühendislik yaklaşımlarını uygulama becerisi kazanır. | X | ||||
ECTS/İş Yükü Tablosu
| Aktiviteler | Sayı | Süresi (Saat) | Toplam İş Yükü |
|---|---|---|---|
| Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) | |||
| Laboratuar | |||
| Uygulama | |||
| Derse Özgü Staj | |||
| Alan Çalışması | |||
| Sınıf Dışı Ders Çalışma Süresi | 16 | 2 | 32 |
| Sunum/Seminer Hazırlama | |||
| Projeler | |||
| Raporlar | |||
| Ödevler | 3 | 4 | 12 |
| Küçük Sınavlar/Stüdyo Kritiği | |||
| Ara Sınavlara/Ara Juriye Hazırlanma Süresi | |||
| Genel Sınava/Genel Juriye Hazırlanma Süresi | 1 | 15 | 15 |
| Toplam İş Yükü | 59 | ||
