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 birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. | X | ||||
2 | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | 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 becerisi. | 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ştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | X | ||||
5 | Karmaşık mühendislik problemlerinin veya bilgisayar 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 becerisi. | X | ||||
6 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | 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. | |||||
8 | En az bir yabancı dil bilgisi; 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. | |||||
9 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | |||||
10 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; | |||||
11 | Bilgisayar mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi. | |||||
12 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; | |||||
13 | Girişimcilik, yenilikçilik hakkında farkındalık; | |||||
14 | Sürdürülebilir kalkınma hakkında bilgi. | |||||
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 bilgi; | |||||
16 | Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık | |||||
17 | Sayısal hesaplama ve sayısal gösterim sistemlerini analiz, tasarım ve ifade becerisi. | X | ||||
18 | Hesaplama problemlerinin çözülmesinde programlama dillerini ve uygun bilgisayar mühendisliği kavramlarını kullanma becerisi. | 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 |