Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
VERİ YAPILARI BLM213 3 3 1 5,0
Önkoşul(lar)-var ise
Dersin Dili
Dersin Türü Lisans
Dersin sorumlusu(ları) Dr. Öğr. Üyesi MEHMET KARA
Dersin Amacı Bu ders, öğrencilere temel veri yapıları ve algoritmalar konularında bilgi vermeyi amaçlar.
Dersin Verilme Şekli Örgün
Sıra No Dersin Öğrenme Çıktıları Öğretim Yöntemleri Değerlendirme Yöntemleri Program Yeterliliklerini Karşılama Düzeyi(1)(2)(3)(4)(5)
1 Learn basic data structures.
1 Temel veri yapılarını öğrenir. Anlatım, Gösterip Yaptırma Sınav 1, 2, 3, 8, 9
2 Temel veri yapılarını ve birbirlerine göre avantaj ve dezavantajlarını tanır. Anlatım, Soru-cevap Sınav 1, 2, 3, 4, 5, 8, 9
2 Understand the advantages and disadvantages of different data structures.
3 Use recognized data structures effectively.
3 Tanınan temel veri yapılarını etkin şekilde kullanır. Anlatım, Gösterip Yaptırma Sınav 1, 2, 3, 4, 5, 6, 8, 9
4 Üretilen çözümlerin etkinliklerini ölçümler. Anlatım, Problem Çözme Sınav 1, 2, 3, 5, 8, 9
4 Measure the efficiency of generated solutions.
5 Use multiple data structures together.
5 Birden fazla veri yapısını beraber kullanır. Anlatım, Soru-cevap, Gösterip Yaptırma Sınav 1, 2, 3, 4, 5, 6, 8, 9
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
Dersin İçeriği
Ders kapsamında; Veri Yapılarına Giriş Veri Soyutlama: Yapılar ve Sınıflar Vektör Kavramsal Veri Yapısı ve Gerçeklemeleri İteratörler Liste Kavramsal Veri Yapısı ve Gerçeklemeleri Yığın Kavramsal Veri Yapısı ve Gerçeklemeleri Kuyruk Kavramsal Veri Yapısı ve Gerçeklemeleri Ara Sınav Ağaç Kavramsal Veri Yapısı ve İkili Ağaçların Gerçeklenmesi İkili Ağaçlar Üzerinde Arama ve Sıralama Dengeli Ağaçlar: AVL Ağaçları, Kırmızı-Siyah Ağacı, B-Ağacı Küme Kavramsal Veri Yapısı ve Gerçeklemeleri Map Kavramsal Veri Yapısı ve Gerçeklemeleri Çizgelerin Tanımı ve Genel Çizge Yapılarının Gerçeklenmesi Temel Çizge Problemleri ve Çözüm Yöntemleri konuları işlenecektir.
Kaynaklar
1. Koffman, E., & Wolfgang, P. (2005). Objects, Abstraction, Data Structures and Design Using C++. Wiley. 2. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2001). Introduction to Algorithms. MIT Press.
Haftalara Göre İşlenecek Konular
Haftalar Konular Dokümanlar
1 . Hafta Veri Yapılarına Giriş
1 . Hafta Introduction to Data Structures
2 . Hafta Data Abstraction: Structures and Classes
2 . Hafta Veri Soyutlama: Yapılar ve Sınıflar
3 . Hafta Vektör Kavramsal Veri Yapısı ve Gerçeklemeleri
3 . Hafta Vector Abstract Data Type and Implementations
4 . Hafta Iterators
4 . Hafta İteratörler
5 . Hafta Liste Kavramsal Veri Yapısı ve Gerçeklemeleri
5 . Hafta List Abstract Data Type and Implementations
6 . Hafta Stack Abstract Data Type and Implementations
6 . Hafta Yığın Kavramsal Veri Yapısı ve Gerçeklemeleri
7 . Hafta Kuyruk Kavramsal Veri Yapısı ve Gerçeklemeleri
7 . Hafta Queue Abstract Data Type and Implementations
8 . Hafta Midterm Exam
8 . Hafta Ara Sınav
9 . Hafta Ağaç Kavramsal Veri Yapısı ve İkili Ağaçların Gerçeklenmesi
9 . Hafta Tree Abstract Data Type and Binary Tree Implementations
10 . Hafta Searching and Sorting on Binary Trees
10 . Hafta İkili Ağaçlar Üzerinde Arama ve Sıralama
11 . Hafta Dengeli Ağaçlar: AVL Ağaçları, Kırmızı-Siyah Ağacı, B-Ağacı
11 . Hafta Balanced Trees: AVL Trees, Red-Black Trees, B-Trees
12 . Hafta Set Abstract Data Type and Implementations
12 . Hafta Küme Kavramsal Veri Yapısı ve Gerçeklemeleri
13 . Hafta Map Kavramsal Veri Yapısı ve Gerçeklemeleri
13 . Hafta Map Abstract Data Type and Implementations
14 . Hafta Graph Definitions and Implementations of General Graph Structures
14 . Hafta Çizgelerin Tanımı ve Genel Çizge Yapılarının Gerçeklenmesi
15 . Hafta Temel Çizge Problemleri ve Çözüm Yöntemleri
15 . Hafta Basic Graph Problems and Solution Methods
16 . Hafta Dönem Sonu Sınavı
Değerlendirme Sistemi
Yarıyıl içi çalışmaları Sayısı Katkı Payı (%)
Ara Sınav 1 30
Ödev 0 0
Final Sınavı 0 0
0 0
0 0
0 0
1 40
0 0
0 0
14 30
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
Toplam 100
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı 2 30
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 1 0
Toplam 100
AKTS (Öğrenci İş Yükü) Tablosu
Etkinlikler Sayısı Süresi Toplam İş Yükü
Ders Süresi (hafta sayısı* haftalık toplam ders saati) 1 2 2
Sınıf Dışı Ders Calışma Süresi (Ön çalışma, pekiştirme) 0 0 0
Ödev için Bireysel Çalışma 0 0 0
Ara sınav için bireysel çalışma 0 0 0
Final sınavı için bireysel çalışma 0 0 0
0 0 0
0 0 0
0 0 0
1 2 2
0 0 0
0 0 0
14 2 28
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
14 4 56
7 2 14
7 2 14
14 2 28
0 0 0
Toplam İş Yükü 144
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi
Sıra No Program Yeterlilikleri Katkı Düzeyi*
1 2 3 4 5
1 A computer engineer possesses fundamental applied and conceptual knowledge in the field of computer engineering. X
2 They utilize mathematics, natural sciences, and theoretical and applied knowledge in computer engineering to solve engineering problems. X
3 They identify current engineering problems in various application domains and provide feasible recommendations for their solution using computer systems. X
4 They perform analyses of software or hardware-based systems, components, and processes required for problem-solving and create optimal designs that meet specified requirements and constraints. X
5 They select and implement modern methods and tools necessary for engineering applications. X
6 Problemlerin çözümü için gerekli olan veriyi toplar ve işler, deneyler tasarlar, deneyleri gerçekleştirir ve sonuçlarını yorumlar. X
7 Mühendislik projelerinin yönetim süreçlerini bilir, proje için en uygun yönetim araçlarını ve proje yaşam döngüsünü seçer ve uygular. X
8 They code, test, operate, and maintain computer-based systems. X
9 They work effectively in interdisciplinary research and software development teams, both within and outside their own field. X
10 They keep up with current developments in computer engineering and related areas with a consciousness of the necessity of continuous professional development. X
11 They utilize Turkish and English fluently and effectively for tracking scientific and technical resources, presenting projects, and writing academic publications. X
12 They are aware of the legal consequences of information technology applications and the individual, corporate, social, and universal impacts. X
13 Geliştirdiği yazılım ve sistemlerde mesleki ve etik sorumluk bilinciyle hareket eder. X
14 They design and develop computer systems that will facilitate human life or increase comfort with analytical thinking skills. X
15 They possess awareness as an individual who is informed about current and historical events and can interpret them rationally and draw conclusions. X