Ders AdıKodu Yerel KrediAKTS Ders (saat/hafta)Uygulama (saat/hafta)Laboratuar (saat/hafta)
Veri Yapıları ve AlgoritmalarYZM203146302
ÖnkoşullarYok
YarıyılGüz
Dersin Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüZorunlu @ Yapay Zeka ve Veri Mühendisliği Lisans Programı (%100 İngilizce)
Ders KategorisiTemel Meslek Dersleri
Dersin Veriliş ŞekliYüz yüze
Dersi Sunan Akademik BirimYapay Zeka ve Veri Mühendisliği Bölümü
Dersin KoordinatörüEkrem Çetinkaya
Dersi Veren(ler)Ekrem Çetinkaya
Asistan(lar)ı
Dersin AmacıBu ders, öğrencilere temel veri yapılarını ve algoritmaları öğretmeyi, problem çözme becerilerini geliştirmeyi ve algoritmik düşünme yetisini kazandırmayı amaçlar. Öğrenciler farklı veri yapılarının avantaj ve dezavantajlarını anlayarak, problem türlerine göre en uygun çözümleri geliştirebilecek becerilere sahip olacaklardır.
Dersin İçeriğiAlgoritma analizi ve karmaşıklık teorisi, temel veri yapıları (array, linked list, stack, queue), tree yapıları (binary tree, binary search tree, AVL tree, heap), hash table, graph yapıları ve algoritmaları, sorting algoritmaları, searching algoritmaları, greedy algoritmalar ve temel string algoritmaları.
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
  • Mark Allen Weiss, Data Structures and Algorithm Analysis in C++ (4th Edition)
Opsiyonel Program BileşenleriYok

Ders Öğrenim Çıktıları

  1. Algoritmaların zaman ve uzay karmaşıklığını analiz eder ve Big-O notasyonunu kullanır.
  2. Temel veri yapılarını (array, linked list, stack, queue) implement eder ve uygun senaryolarda kullanır
  3. Tree yapıları ve hash table ile verimli arama ve ekleme işlemleri gerçekleştirir
  4. Graph algoritmaları ile yol bulma ve gezinme problemlerini çözer
  5. Farklı sorting ve searching algoritmalarını karşılaştırır ve problem türüne uygun olanı seçer
  6. Algoritmik problem çözme becerilerini geliştirerek kompleks problemleri parçalara ayırır

Ders Öğrenim Çıktısı & Program Çıktısı Matrisi

DÖÇ-1DÖÇ-2DÖÇ-3DÖÇ-4DÖÇ-5DÖÇ-6

Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları

HaftaKonularÖn Hazırlık
1C++ Programlama Temelleri ve SınıflarWeiss Ch.1
2Listeler ve Linked ListWeiss Ch.3.1-3.5
3Stack ve QueueWeiss Ch.3.6-3.7
4Queue ve Chars/StringsWeiss Ch.3.7
5Algoritma AnaliziWeiss Ch.2
6AğaçlarWeiss Ch.4.1-4.2
7Binary Search TreeWeiss Ch.4.3
8Ara Sınav 1
9Balanced Tree (AVL)Weiss Ch.4.4
10Heap Veri YapısıWeiss Ch.6
11Sıralama AlgoritmalarıWeiss Ch.7
12Disjoint SetsWeiss Ch.8
13Hash TablolarıWeiss Ch.5
14Graph Veri YapılarıWeiss Ch.9
15Algoritma Tasarım TeknikleriWeiss Ch.10
16Final

Değerlendirme Sistemi

EtkinliklerSayıKatkı Payı
Devam/Katılım
Laboratuar730
Uygulama
Arazi Çalışması
Derse Özgü Staj
Küçük Sınavlar/Stüdyo Kritiği
Ödev
Sunum/Jüri
Projeler
Seminer/Workshop
Ara Sınavlar130
Final140
Dönem İçi Çalışmaların Başarı Notuna Katkısı
Final Sınavının Başarı Notuna Katkısı
TOPLAM100

AKTS İşyükü Tablosu

EtkinliklerSayıSüresi (Saat)Toplam İşyükü
Ders Saati143
Laboratuar142
Uygulama
Arazi Çalışması
Sınıf Dışı Ders Çalışması73
Derse Özgü Staj
Ödev
Küçük Sınavlar/Stüdyo Kritiği
Projeler
Sunum / Seminer
Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi)120
Final (Sınav Süresi + Sınav Hazırlık Süresi)125
Toplam İşyükü :
Toplam İşyükü / 30(s) :
AKTS Kredisi :
Diğer NotlarYok