AKTS - Algoritma
Algoritma (CMPE323) Ders Detayları
| Ders Adı | Ders Kodu | Dönemi | Saati | Uygulama Saati | Laboratuar Hours | Kredi | AKTS |
|---|---|---|---|---|---|---|---|
| Algoritma | CMPE323 | 5. Dönem | 3 | 0 | 0 | 3 | 7 |
| Ö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ı | Dersin sonunda öğrenci, algoritmaların analizinin ve dizaynının nasıl yapıldığını ve algoritmaların karmaşıklığının nasıl ölçülebildiğini öğrenecek, algoritma alanının teorik altyapısını kavrayacak ve gerçek hayat problemlerine verimli algoritmik çözümler oluşturma becerisi kazanacaktır. |
| Dersin Eğitim Çıktıları |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
| Dersin İçeriği | Algoritma dizaynı ve analizi, O?notasyonu, parçala?çöz algoritması, dinamik programlama, geriye dönüş algoritması, alt sınır teoremi, sıralama ve arama algoritmalarının karmaşıklıkları, grafik algoritmaları, NP-zor ve NP-tamam (NPC) problemler, bBaşlıca NPC problemleri, NPC'ye problem sağlama, bazı dizgi işleme algoritmalarının analizi. |
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları
| Hafta | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Giriş, artma fonksiyonları | Ana ders kitabı Bölüm 1.1, 1.2, 3.1, 3.2 |
| 2 | Algoritma analizi: Insertion sort algoritması | Bölüm 2.1, 2.2 |
| 3 | Algoritma analizi: Merge sort algoritması, özyineleme, (özyineleme-ağaçları yöntemi) | Bölüm 2.3, 4 (giriş), 4.2 |
| 4 | Algoritma analizi: Quicksort algoritması ve analizi | Bölüm 7.1, 7.2, 7.4, 5.2 |
| 5 | Kırmızı-Siyah Ağaçları | Bölüm 13.1, 13.2, 13.3 |
| 6 | Dinamik Programlama | Bölüm 15 (giriş), 15.1 |
| 7 | Dinamik Programlama | Bölüm 15.3, 15.2 |
| 8 | Dinamik Programlama | Bölüm 15.2 (devam), 15.4 |
| 9 | Fırsatçı Algoritmalar | Bölüm 16.1, 16.2 |
| 10 | Fırsatçı Algoritmalar | Bölüm 16.2 (devam), 16.3 |
| 11 | Grafik Algoritmaları | Bölüm 22.1, 22.2, 22.3 |
| 12 | Grafik Algoritmaları | Bölüm 22.4, 23 (giriş ), 23.1, 23.2 (Kruskal) |
| 13 | Grafik Algoritmaları | Bölüm 24 (giriş), 24.1, 24.2 |
| 14 | Grafik Algoritmaları , NP-tamamlık | Bölüm 24.2 (devam), 24.3, 34 (giriş) |
| 15 | Gözden geçirme | - |
| 16 | Gözden geçirme |
Kaynaklar
| Ders Kitabı | 1. T.H.Cormen, C.E.Leiserson, R.L.Rivest and C.Stein: Introduction to Algorithms, MIT Press 2001. |
|---|---|
| Diğer Kaynaklar | 2. Anany Levitin, Introduction to the Design & Analysis of Algorithms, 3rd edition, Pearson, 2012. |
| 3. E.Horowitz, S.Sahni: Fundamentals of Computer Algorithms, Computer Science 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 Algorithms, Addison-Wesley Series in Computer Science and Information Processing, 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 | 1 | 5 |
| Laboratuar | - | - |
| Uygulama | - | - |
| Alan Çalışması | - | - |
| Derse Özgü Staj | - | - |
| Küçük Sınavlar/Stüdyo Kritiği | - | - |
| Ödevler | 3 | 10 |
| Sunum | - | - |
| Projeler | - | - |
| Rapor | - | - |
| Seminer | - | - |
| Ara Sınavlar/Ara Juri | 2 | 50 |
| Genel Sınav/Final Juri | 1 | 35 |
| Toplam | 7 | 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 | X |
|---|---|
| Uzmanlık/Alan Dersleri | |
| 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 bilgisayar mühendisliği disiplinine özgü konularda yeterli bilgi birikimine sahip olur; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanır. | X | ||||
| 2 | Karmaşık mühendislik problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaçla uygun analiz ve modelleme yöntemlerini seçer ve uygular. | 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 tasarlar; bu amaçla modern tasarım yöntemlerini uygular. | X | ||||
| 4 | Bilgisayar mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır. | X | ||||
| 5 | Karmaşık mühendislik problemlerinin veya bilgisayar mühendisliği disiplinine özgü araştırma konularının incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar. | X | ||||
| 6 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma becerisini kazanır. | X | ||||
| 7 | Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır. | |||||
| 8 | En az bir yabancı dil bilir; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır. | |||||
| 9 | Yaşam boyu öğrenmenin gerekliliği bilincine sahip olur; bilgiye erişir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler. | |||||
| 10 | Etik ilkelerine uygun davranır, mesleki ve etik sorumluluk bilincine sahip olur. | |||||
| 11 | Bilgisayar mühendisliği uygulamalarında kullanılan standartlar hakkında bilgiye sahip olur. | |||||
| 12 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgiye sahip olur. | |||||
| 13 | Girişimcilik, yenilikçilik hakkında farkındalık kazanır. | |||||
| 14 | Sürdürülebilir kalkınma hakkında bilgiye sahip olur. | |||||
| 15 | Bilgisayar 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 bilgiye sahip olur. | |||||
| 16 | Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık kazanır. | |||||
| 17 | Sayısal hesaplama ve sayısal gösterim sistemlerini analiz eder, tasarlar ve ifade eder. | X | ||||
| 18 | Hesaplama problemlerinin çözülmesinde programlama dillerini ve uygun bilgisayar mühendisliği kavramlarını kullanı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) | 16 | 3 | 48 |
| Laboratuar | |||
| Uygulama | |||
| Derse Özgü Staj | |||
| Alan Çalışması | |||
| Sınıf Dışı Ders Çalışma Süresi | 16 | 3 | 48 |
| Sunum/Seminer Hazırlama | |||
| Projeler | |||
| Raporlar | |||
| Ödevler | 3 | 6 | 18 |
| Küçük Sınavlar/Stüdyo Kritiği | |||
| Ara Sınavlara/Ara Juriye Hazırlanma Süresi | 2 | 20 | 40 |
| Genel Sınava/Genel Juriye Hazırlanma Süresi | 1 | 20 | 20 |
| Toplam İş Yükü | 174 | ||
