Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
VERİ YAPILARI YZM213 3 3 1 5,0
Önkoşul(lar)-var ise
Dersin Dili
Dersin Türü Lisans
Dersin sorumlusu(ları) Dr. Öğr. Üyesi NUR BANU ALBAYRAK
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 Learns 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 Recognizes basic data structures and their advantages and disadvantages relative to each other.
3 Uses recognized basic 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 Measures the efficiency of the produced solutions.
5 Uses 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 soyutlama, yapı ve sınıf kavramları öğrenilecektir. Bu kavramların anlaşılması amacıyla Vektör, İteratör, Liste, Yığın, Kuyruk, Ağaç, İkili Ağaç, AVL Ağacı, Kırmızı-Siyah Ağaç, B-Ağacı, Harita, Çizge kavramsal yapıları üzerinde çalışılacaktır.
Kaynaklar
Koffman, E. B., & Wolfgang, P. A. (2005). Objects, Abstraction, Data Structures and Design: Using C++. John Wiley & Sons.
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 Conceptual Data Structure and Implementations
4 . Hafta Iterators
4 . Hafta İteratörler
5 . Hafta Liste Kavramsal Veri Yapısı ve Gerçeklemeleri
5 . Hafta List Conceptual Data Structure and Implementations
6 . Hafta Stack Conceptual Data Structure 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 Conceptual Data Structure 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 Conceptual Data Structure and Implementations of Binary Trees
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 Conceptual Data Structure 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 Conceptual Data Structure and Implementations
14 . Hafta Definition of Graphs 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
7 15
7 15
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 4 0
Ödev için Bireysel Çalışma 0 2 0
Ara sınav için bireysel çalışma 0 12 0
Final sınavı için bireysel çalışma 0 12 0
0 0 0
0 0 0
0 0 0
1 2 2
0 0 0
0 0 0
7 1 7
7 5 35
0 0 0
0 0 0
0 0 0
0 0 0
14 3 42
1 10 10
1 10 10
14 2 28
0 0 0
Toplam İş Yükü 136
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi
Sıra No Program Yeterlilikleri Katkı Düzeyi*
1 2 3 4 5
15 As an aware individual of current and historical events, critically interprets events and makes rational deductions. X
1 Possesses a fundamental understanding of applied and conceptual knowledge in the field of software engineering. X
2 Utilizes the theoretical and applied knowledge from mathematics, natural sciences, and software engineering in solving engineering problems. X
3 Identifies current engineering problems in various application domains and provides feasible recommendations for solving these problems using software systems. X
4 Performs analyses of software-based systems, components, and processes required for problem-solving, and creates the best designs that can meet the identified requirements and constraints. X
5 Selects and applies modern methods and tools necessary for engineering applications. X
6 Collects and processes the necessary data for problem-solving, designs experiments, conducts experiments, and interprets the results. X
7 Is familiar with the management processes of engineering projects, selects and applies the most suitable project management tools and project life cycle for the project. X
8 Codes, tests, operates, and maintains computer-based systems. X
9 Actively collaborates within disciplinary or interdisciplinary research and software development teams, either individually or as part of a team. X
10 Keeps track of current developments in software engineering and other relevant fields, with a conscious awareness of the necessity for continuous professional development. X
11 Proficiently and effectively utilizes both Turkish and English languages for the purpose of tracking scientific and technical resources, presenting projects, and writing academic publications. X
12 Is aware of the legal consequences of information technology applications and the individual, corporate, societal, and global impacts in both ethical and universal dimensions. X
13 Acts with professional and ethical responsibility in the development of software and systems. X
14 Designs and develops software systems using analytical thinking skills, aiming to facilitate human life or enhance comfort. X