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 |
|
|
|
|
|