BBZ202 Algoritma Tasarımı ve Analizi

6 AKTS - 3-0 Süre (T+U)- 4. Yarıyıl- 3 Yerel Kredi

Genel Bilgi

Kod BBZ202
Ad Algoritma Tasarımı ve Analizi
Dönem 2024-2025 Eğitim-Öğretim Yılı
Yarıyıl 4. Yarıyıl
Süre (T+U) 3-0 (T-U) (17 Hafta)
AKTS 6 AKTS
Yerel Kredi 3 Yerel Kredi
Eğitim Dil Türkçe
Seviye Belirsiz
Tür Normal
Etiket AE Alan Eğitimi Dersleri Z Zorunlu
Öğretim Şekli Yüz Yüze Öğretim
Bilgi Paketi Koordinatörü Öğr. Gör.Dr. YOLDAŞ ERDOĞAN
Dersin Öğretim Elemanı Öğr. Gör.Dr. YOLDAŞ ERDOĞAN (A Grubu) (Sor. Öğr. Ele.)


Dersin Amacı / Hedefi

Bu ders bilimsel ve hesaba dayalı klasik problemlerin çözümü konusundaki temel algoritmaları öğretmek, algoritma çalışma süresi, bellek kullanımı, enerji kullanımı gibi çeşitli yönlerden analizi yapmak, algoritma zaman karmaşıklığı hakkında bilgi sahibi olmak ve algoritma analizinde kullanılan matematiksel yöntem ve araçlarla tanıştırmayı amaçlar.

Dersin İçeriği

Algoritmalara giriş, asimtotik notasyonlar, algoritma etkinliği, en iyi, en kötü ve ortalama zaman karmaşıklığı analizleri, özyineli fonksiyonlar ve çözüm yöntemleri, yerine koyma yöntemi, sıralama ve arama algoritmaları, en kısa yol bulma, paralel algoritmalar, parçala çöz yöntemleri, küçült çöz yöntemleri, değiştir çöz yöntemleri, çizge algoritmaları, DFS, BFS, Dinamik programlamaya giriş ve açgözlü algoritmalar, karmaşıklık sınıfları, P, NP, NP-Tam.

Dersin Ön Koşulu

Yok

Kaynaklar

• Introduction to the Design and Analysis of Algorithms, Anany V. Levitin, Pearson Higher Education, 2007. • Introduction to Algorithms, T.H. Cormen, C.H. Leiserson, R.L. Rivest, C. Stein, McGrawHill, 2007.

Notlar



Dersin Öğrenme Çıktıları

Sıra Dersin Öğrenme Çıktıları
ÖÇ01 Algoritmalar kullanarak veri yapılarını tanımlama ve modelleme;
ÖÇ02 Denklemleri çözmek için matematiksel modelleri kullanma ve algoritmalar oluşturma;
ÖÇ03 Veriye dayalı materyalleri analiz edebilme ve eleştirel olarak değerlendirebilme;
ÖÇ04 Araştırılan alanla ilgili politika değişikliklerinin etkilerini öngörebilme becerisine sahip olacaktır.


Program Öğrenme Çıktıları ile İlişkisi

Sıra Tür Program Öğrenme Çıktıları Duzey
PÖÇ01 Bilgi - Kuramsal, Olgusal Bilgisayar Bilimleri temel kavramları, algoritmalar ve veri yapıları hakkında geniş bir bilgi yelpazesi kazandırır. 4
PÖÇ02 Bilgi - Kuramsal, Olgusal Yazılım geliştirme, programlama dilleri ve veritabanı yönetimi gibi temel bilgisayar konularını öğrenir. 4
PÖÇ03 Bilgi - Kuramsal, Olgusal Veri bilimi, yapay zeka ve makine öğrenimi gibi ileri düzey bilgisayar alanlarını anlar. 3
PÖÇ04 Bilgi - Kuramsal, Olgusal Bilgisayar ağları, siber güvenlik ve veritabanı tasarımı gibi konularda bilgi edinir. 2
PÖÇ05 Beceriler - Bilişsel, Uygulamalı Algoritmaları tasarlama, uygulama ve analiz etme becerilerini geliştirir. 4
PÖÇ06 Beceriler - Bilişsel, Uygulamalı Farklı programlama dillerini etkili bir şekilde kullanabilme yeteneği kazanır 3
PÖÇ07 Beceriler - Bilişsel, Uygulamalı Veri analizi, veritabanı yönetimi ve büyük veri işleme becerilerini öğrenir.
PÖÇ08 Beceriler - Bilişsel, Uygulamalı Yazılım geliştirme projelerinde çalışarak pratik deneyim kazanır. 3
PÖÇ09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Ekip içinde işbirliği yapma ve iletişim becerilerini güçlendirir. 2
PÖÇ10 Yetkinlikler - Alana Özgü Yetkinlik Teknolojik yeniliklere açık bir zihniyet kazandırır.
PÖÇ11 Yetkinlikler - Öğrenme Yetkinliği Sürekli öğrenme ve kendini geliştirme yetkinliğini teşvik eder. 2
PÖÇ12 Yetkinlikler - İletişim ve Sosyal Yetkinlik Karmaşık sorunları çözme yeteneği geliştirir. 2


Haftalık Akış

Hafta Konu Ön Hazırlık Yöntemler
1 Algoritmalara giriş, ayrık matematik, veri yapıları, asimtotik notasyonlar, algoritma etkinliği Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Tartışma
2 En iyi, en kötü ve ortalama zaman karmaşıklığı analizleri Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Alıştırma ve Uygulama
3 Brute Force (Kaba Kuvvet) ve Algoritmaları: Selection Sort, Bubble Sort Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
4 Alan Karmaşıklığı Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
5 Divide and Conquer (Böl ve Yönet) ve Algoritmaları: Özyinelemeli Algoritmalar, Merge Sort, Quick Sort Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
6 Decrease and Conquer (Azalt ve Yönet) ve Algoritmaları: Insertion Sort Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
7 Dinamik Programlama - Böl ve Yönet: Fibonacci Serisi, Binom Sabitleri Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
8 Ara Sınavlar Sınava hazırlık Ölçme Yöntemleri:
Yazılı Sınav
9 Dinamik Programlama: En Uzun Alt Katar Problemi, Matris Çarpımı Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
10 Dinamik Programlama: En Kısa Yol Problemi, Sırt Çantası Problemi Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
11 Greedy Approach (Aç Gözlü Yaklaşım): Sırt Çantası Problemi, En Kısa Yol Problemi Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
12 Greedy Approach (Aç Gözlü Yaklaşım): Prim, Kruskal Algoritmaları Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
13 Transform and Conquer (Dönüştür ve Yönet): Mod Değeri Hesabı Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
14 Transform and Conquer (Dönüştür ve Yönet): İkili Ağaçlar, Denge ve AVL Ağaçları, Heap Sort Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
15 Hesaplama Teorisi: Hanoi Kuleleri, Karmaşıklık ve Hesaplanabilirlik Teorisi, NP-Tam, P, NP-Hard Problemler Ders notunda ilgili bölümü okumak Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
16 Yarıyıl Sonu Sınavları Sınava hazırlık Ölçme Yöntemleri:
Yazılı Sınav
17 Yarıyıl Sonu Sınavları Sınava hazırlık Ölçme Yöntemleri:
Yazılı Sınav


Öğrenci İş Yükü - AKTS

Çalışmalar Sayısı Süresi (Saat) İş Yükü (Saat)
Ders ile İlgili Çalışmalar
Ders (Sınav haftaları dahil değildir) 14 3 42
Sınıf Dışı Ders Çalışma (Ön çalışma, pekiştirme) 14 5 70
Değerlendirmeler ile İlgili Çalışmalar
Ödev, Proje, Diğer 0 0 0
Ara Sınavlar (Yazılı, Sözlü, vs.) 1 14 14
Yarıyıl/Yıl Sonu/Final Sınavı 1 24 24
Toplam İş Yükü (Saat) 150
Toplam İş Yükü / 25 (s) 6,00
AKTS 6 AKTS

Güncelleme Zamanı: 21.02.2025 06:59