Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Veri Yapıları BSM 207 3 3 + 0 3 4
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili Türkçe
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Dr.Öğr.Üyesi MUHAMMED FATİH ADAK
Dersi Verenler Dr.Öğr.Üyesi KAYHAN AYAR, Dr.Öğr.Üyesi MUHAMMED FATİH ADAK, Dr.Öğr.Üyesi HÜSEYİN DEMİRCİ,
Dersin Yardımcıları

Arş. Gör. Kayhan AYAR, Arş.Gör. Ahmet ARSLAN

Dersin Kategorisi Diğer
Dersin Amacı

Bilgilerin bilgisayar belleğinde saklanması ve bu bilgilere ulaşılması için tasarlanmış temel veri yapılarının sunulması.

Dersin İçeriği

Veri kavramı ve veri tipleri, Listeler, balı listeler, Kuyruk, Yığıt, ikili ağaç ve uyugulama alanları, sıkıştırma algoritmaları, Sıralama algoritmaları ve bunların karşılaştırılmaları, arama algoritmaları ve bunların karşılaştırılmaları ve hash tabloları.

# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Veri ve temel veri tipleri konusunda bilgi sahibi olur. Anlatım, Soru-Cevap, Beyin Fırtınası, Tartışma, Gezi / Gözlem,
2 yinelemeli ve özyinelemeli çözümleri karşılaştırabilir. Anlatım, Soru-Cevap, Beyin Fırtınası,
3 Algoritmaların performanslarını ölçmesini bilir. Anlatım, Soru-Cevap, Gezi / Gözlem,
4 Liste ve bağlı liste veri yapıları ile problem çözebilir. Anlatım, Soru-Cevap,
5 Yığıt yapısı ile daha etkin program yazma gerçekleştirebilir. Anlatım, Soru-Cevap, Beyin Fırtınası,
6 Kuyruk yapısı ile güncel problemlere ilişkin etkin program gerçekleştirebilir Anlatım, Soru-Cevap, Beyin Fırtınası, Gezi / Gözlem,
7 Heap ağacının performansını analiz edebilir. Anlatım, Soru-Cevap, Beyin Fırtınası,
8 Arama, sıralama ve özel amaçlar için ağaç yapılarından faydalanabilir. Anlatım, Soru-Cevap, Tartışma,
9 İkili ağaçların farklı uygulama alanlarını bilir. Anlatım, Soru-Cevap, Tartışma,
10 Dengeli ve dengesiz ağaçların avantajlarını bilir. Anlatım, Soru-Cevap, Tartışma,
11 RB ağaçlarını uygulamada ve problem çözümünde kullanabilir. Anlatım, Soru-Cevap, Tartışma,
12 B Ağaçlarının getirdiği katkıların farkındadır. Anlatım, Soru-Cevap, Tartışma,
13 B, RB, AVL Ağaçlarının uygulamada ve problem çözümünde kullanabilir. Anlatım, Soru-Cevap, Tartışma,
14 Hash tablolarının uygulamalarını bilir. Anlatım, Tartışma,
15 Öğrenci kendisi yeni veri yapıları tanımlayabilir. Anlatım, Eşleştirme Testler,
Hafta Ders Konuları Ön Hazırlık
1 Temel veri tipleri, veri kavramı ve algoritma analizi [1] 1. Hafta Sunusu
2 Bellek yönetimi ve göstericiler [2] 2. Hafta Sunusu
3 Özyineleme kavramı ve Özyinelemeli algoritmalar [3] 3. Hafta Sunusu
4 Liste veri yapısı, Statik ve Dinamik diziler [4] 4. Hafta Sunusu
5 Bağlı liste, tek yönlü bağlı listeler [5] 5. Hafta Sunusu
6 Çift yönlü bağıl listeler, Dairesel listeler [6] 6. Hafta Sunusu
7 Yığıt veri yapısı ve uygulamaları [7] 7. Hafta Sunusu
8 Kuyruk veri yapısı, doğrusal kuyruk, dairesel kuyruk [8] 8. Hafta Sunusu
9 Ağaç veri yapısı [9] 9. Hafta Sunusu
10 İkili ağaç, İfade ağacı ve İkili arama ağacı [10] 10. Hafta Sunusu
11 Öncelikli kuyruk ve Heap ağacı [11] 11. Hafta Sunusu
12 AVL ağaçları [12] 12. Hafta Sunusu
13 Genel Ağaç uygulamaları, Huffman, LempelZiv [13] 13. Hafta Sunusu
14 Hash tabloları [14] 14. Hafta Sunusu
Kaynaklar
Ders Notu

1. Prof. Dr. Nejat YUMUŞAK, Dr. M. Fatih ADAK, "C/C++ ile Veri Yapıları ve Çözümlü Uygulamalar", Seçkin yayıncılık, 2016

Ders Kaynakları

1. Prof. Dr. Nejat YUMUŞAK, M. Fatih ADAK, "C/C++ ile Veri Yapıları ve Çözümlü Uygulamalar", Seçkin yayıncılık, 2014.

2. Dr.Rifat ÇÖLKESEN, "Veri yapıları ve algoritmalar", Papatya yayıncılık, 2002.
3. İbrahim Akman, "C ile Veri yapıları", SAS bilişim yayınları, 2002.

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi.
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.
3 Mühendislik 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.
4 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.
5 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
6 Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık,
7 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
8 Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; 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; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
11 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
12 Mühendislik 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; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12
1 Veri ve temel veri tipleri konusunda bilgi sahibi olur.
2 yinelemeli ve özyinelemeli çözümleri karşılaştırabilir.
3 Algoritmaların performanslarını ölçmesini bilir.
4 Liste ve bağlı liste veri yapıları ile problem çözebilir.
5 Yığıt yapısı ile daha etkin program yazma gerçekleştirebilir.
6 Kuyruk yapısı ile güncel problemlere ilişkin etkin program gerçekleştirebilir
7 Heap ağacının performansını analiz edebilir.
8 Arama, sıralama ve özel amaçlar için ağaç yapılarından faydalanabilir.
9 İkili ağaçların farklı uygulama alanlarını bilir.
10 Dengeli ve dengesiz ağaçların avantajlarını bilir.
11 RB ağaçlarını uygulamada ve problem çözümünde kullanabilir.
12 B Ağaçlarının getirdiği katkıların farkındadır.
13 B, RB, AVL Ağaçlarının uygulamada ve problem çözümünde kullanabilir.
14 Hash tablolarının uygulamalarını bilir.
15 Öğrenci kendisi yeni veri yapıları tanımlayabilir.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 30
2. Ödev 35
1. Ödev 35
Toplam 100
1. Yıl İçinin Başarıya 60
1. Final 40
Toplam 100
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 16 3 48
Ara Sınav 1 12 12
Ödev 3 4 12
Performans Görevi (Uygulama) 1 4 4
Final 1 16 16
Toplam İş Yükü 140
Toplam İş Yükü / 25 (Saat) 5,6
Dersin AKTS Kredisi 4