Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
Data Structures and Algorıthms | SWE 201 | 3 | 3 + 2 | 4 | 6 |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler | |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Prof.Dr. DEVRİM AKGÜN |
Dersi Verenler | Prof.Dr. DEVRİM AKGÜN, |
Dersin Yardımcıları | |
Dersin Kategorisi | Alanına Uygun Temel Öğretim |
Dersin Amacı | The main objective of this course is to provide an introduction to basic data structures, and algorithms for manipulating them, by using C++ programming language. |
Dersin İçeriği | Basic C ++ programming and algorithm concepts, Common Absract Data Types (ADT), List ADT, Array list, linked list, Stack ADT, Queue ADT, Circular Queue, Tree ADT, Binary Search Tree, Expression Tree, Heap Tree, Priority Queue, AVL Tree, Set ADT, Hash table |
# | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
---|---|---|---|
1 | Gains knowledge of basic data types, programming and algorithm analysis. | Lecture, Question-Answer, Problem Solving, | Testing, Homework, Project / Design, |
2 | Knows list, stack and queue abstract data types and performs them in array-based and linked structure. | Lecture, Question-Answer, Problem Solving, | Testing, Homework, Project / Design, |
3 | Knows tree abstract data type, binary tree data type and heap tree. | Lecture, Question-Answer, Problem Solving, | Testing, Homework, Project / Design, |
4 | Knows Set abstract data type and Hash tables | Lecture, Question-Answer, Problem Solving, | Testing, Homework, Project / Design, |
Hafta | Ders Konuları | Ön Hazırlık |
---|---|---|
1 | Introduction, data types, functions, compiling with C++ | 1. hafta sunusu |
2 | Pointers, arrays, recursive algorithms | 2. hafta sunusu |
3 | Object oriented programming concepts, algorithm analysis | 3. hafta sunusu |
4 | List ADT, array based implementation | 4. hafta sunusu |
5 | Linked lists, singly linked list | 5. hafta sunusu |
6 | Doubly linked lists, Circular linked lists | 6. hafta sunusu |
7 | Stack ADT and implementations | 7. hafta sunusu |
8 | Queue ADT and implementations | 8. hafta sunusu |
9 | Tree ADT, Binary trees, binary search trees | 9. hafta sunusu |
10 | Binary search tree examples | 10. hafta sunusu |
11 | Heap tree, heap sort, and priority queues | 11. hafta sunusu |
12 | Balanced binary trees, AVL trees, red-black trees | 12. hafta sunusu |
13 | Hash tables | 13. hafta sunusu |
14 | Sets, Sorting, and Selection | 14. hafta sunusu |
Kaynaklar | |
---|---|
Ders Notu | Drozdek, Adam. Data Structures and algorithms in C++. Cengage Learning, 2012. |
Ders Kaynakları | 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 Parker, Alan. Algorithms and data structures in C++. Routledge, 2018. |
Sıra | Program Çıktıları | Katkı Düzeyi | |||||
---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |||
1 | To have sufficient foundations on engineering subjects such as science and discrete mathematics, probability/statistics; an ability to use theoretical and applied knowledge of these subjects together for engineering solutions. | X | |||||
2 | An ability to determine, describe, formulate and solve engineering problems; for this purpose, an ability to select and apply proper analytic and modeling methods,al background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations. | ||||||
3 | An ability to select and use modern techniques and tools for engineering applications; an ability to use information technologies efficiently. | X | |||||
4 | An ability to analyze a system, a component or a process and design a system under real limits to meet desired needs; in this direction, an ability to apply modern design methods. | ||||||
5 | An ability to design, conduct experiment, collect data, analyze and comment on the results and consciousness of becoming a volunteer on research. | X | |||||
6 | Understanding, awareness of administration, control, development and security/reliability issues about information technologies. | ||||||
7 | An ability to work efficiently in multidisciplinary teams, self confidence to take responsibility. | X | |||||
8 | An ability to present himself/herself or a problem with oral/written techniques and have efficient communication skills; know at least one extra language. | X | |||||
9 | An awareness about importance of lifelong learning; an ability to update his/her knowledge continuously by means of following advances in science and technology. | ||||||
10 | Understanding, practicing of professional and ethical responsibilities, an ability to disseminate this responsibility on society. | ||||||
11 | An understanding of project management, workplace applications, health issues of laborers, environment and job safety; an awareness about legal consequences of engineering applications. | ||||||
12 | An understanding universal and local effects of engineering solutions; awareness of entrepreneurial and innovation and to have knowledge about contemporary problems. |
Değerlendirme Sistemi | |
---|---|
Yarıyıl Çalışmaları | Katkı Oranı |
1. Ara Sınav | 60 |
1. Kısa Sınav | 10 |
1. Ödev | 10 |
1. Proje / Tasarım | 10 |
2. Ödev | 10 |
Toplam | 100 |
1. Final | 50 |
1. Yıl İçinin Başarıya | 50 |
Toplam | 100 |
AKTS - İş Yükü Etkinlik | Sayı | Süre (Saat) | Toplam İş Yükü (Saat) |
---|---|---|---|
Course Duration (Including the exam week: 16x Total course hours) | 16 | 3 | 48 |
Hours for off-the-classroom study (Pre-study, practice) | 16 | 4 | 64 |
Project / Design | 1 | 8 | 8 |
Final examination | 1 | 9 | 9 |
Performance Task (Laboratory) | 3 | 4 | 12 |
Mid-terms | 1 | 9 | 9 |
Toplam İş Yükü | 150 | ||
Toplam İş Yükü / 25 (Saat) | 6 | ||
Dersin AKTS Kredisi | 6 |