BİLGİSAYAR PROGRAMCILIĞI | |||||
Associate | TR-NQF-HE: Level 5 | QF-EHEA: Short Cycle | EQF-LLL: Level 5 |
Course Code: | 2021211001 | ||||||||
Ders İsmi: | Data Structures | ||||||||
Ders Yarıyılı: | Fall | ||||||||
Ders Kredileri: |
|
||||||||
Language of instruction: | TR | ||||||||
Ders Koşulu: | |||||||||
Ders İş Deneyimini Gerektiriyor mu?: | No | ||||||||
Type of course: | Necessary | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Öğr.Gör. Esma TAYRAN | ||||||||
Course Lecturer(s): |
Öğr.Gör. Esma TAYRAN |
||||||||
Course Assistants: |
Course Objectives: | It is to provide all kinds of infrastructure for algorithm analysis and data structure models needed in creating mathematical models and all kinds of data-containing subjects, and to develop the best solution on a computer using a language. |
Course Content: | Fundamentals of Algorithmic Problem Solving, Fundamentals of Algorithm Analysis, List and Linked Lists, Queue and Stack, Trees, Search Algorithms, Sort Algorithms, Divide and Conquer Algorithms, Graphs, Recurrence Relations |
The students who have succeeded in this course;
|
Week | Subject | Related Preparation |
1) | Fundamentals of Algorithmic Problem Solving | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
2) | Fundamentals of Algorithm Analysis | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
3) | List and Linked List Structures | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
4) | Queue and Stack Structures | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
5) | Tree Structure, Binary Trees, Binary Search Trees | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
6) | Heap Trees | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
7) | Search Algorithms, String Search Algorithms | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
8) | Midterm | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
9) | Sorting Algorithms | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
10) | Divide and Conquer Algorithms 1 | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
11) | Divide and Conquer Algorithms 2 | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
12) | Graphs | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
13) | Graph Navigation (BFS, DFS) | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
14) | Minimum Spanning Tree | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
15) | Shortest Path Algorithms | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 |
Course Notes / Textbooks: | Derste not tutulacaktır. |
References: | Veri Yapıları ve Algoritmalar, 8.Basım, Rifat Çölkesen, Papatya Bilim, 2002 Algoritma Geliştirme ve Veri Yapıları, Rifat Çölkesen, Papatya Yayıncılık, 2016 Algoritmalar, Robert Sedgewick, Kevin Wayne, Nobel Yayıncılık, 2018 |
Ders Öğrenme Kazanımları | 1 |
|||||
---|---|---|---|---|---|---|
Program Outcomes | ||||||
1) To have the ability to apply knowledge in the fields of mathematics, science and programming to the development of software systems and the solution of problems related to computer programming. | ||||||
2) To have the ability to analyze and model problems specific to the field of software systems development and computer programming, and to identify and define appropriate software requirements for their solutions. | ||||||
3) Having the ability to design, develop and evaluate a software system, system part, process or program that will meet specified requirements. | ||||||
4) Have the ability to develop software systems and use modern technical and programming tools for computer programming applications. | ||||||
5) To have the discipline of software systems development and computer programming and the ability to demonstrate the necessary business skills to work effectively in interdisciplinary teams or individually. | ||||||
6) To have the ability to develop software systems and apply approaches in the development of computer programs by applying analysis, design, implementation, verification, validation and maintenance processes. | ||||||
7) To have awareness and awareness of professional, legal, ethical and social problems in the field of software and computer programming. |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | To have the ability to apply knowledge in the fields of mathematics, science and programming to the development of software systems and the solution of problems related to computer programming. | 4 |
2) | To have the ability to analyze and model problems specific to the field of software systems development and computer programming, and to identify and define appropriate software requirements for their solutions. | 4 |
3) | Having the ability to design, develop and evaluate a software system, system part, process or program that will meet specified requirements. | 3 |
4) | Have the ability to develop software systems and use modern technical and programming tools for computer programming applications. | 3 |
5) | To have the discipline of software systems development and computer programming and the ability to demonstrate the necessary business skills to work effectively in interdisciplinary teams or individually. | 3 |
6) | To have the ability to develop software systems and apply approaches in the development of computer programs by applying analysis, design, implementation, verification, validation and maintenance processes. | 1 |
7) | To have awareness and awareness of professional, legal, ethical and social problems in the field of software and computer programming. | 2 |
Alan Çalışması | |
Akran Değerlendirmesi | |
Anlatım | |
Beyin fırtınası /Altı şapka | |
Bireysel çalışma ve ödevi | |
Course | |
Grup çalışması ve ödevi | |
Labs | |
Okuma | |
Problem Çözme | |
Soru cevap/ Tartışma | |
Web Tabanlı Öğrenme |
Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
Uygulama |
Semester Requirements | Number of Activities | Level of Contribution |
Midterms | 1 | % 40 |
Semester Final Exam | 1 | % 60 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 40 | |
PERCENTAGE OF FINAL WORK | % 60 | |
total | % 100 |
Activities | Number of Activities | Duration (Hours) | Workload |
Course Hours | 14 | 3 | 42 |
Study Hours Out of Class | 14 | 3 | 42 |
Homework Assignments | 2 | 20 | 40 |
Midterms | 1 | 25 | 25 |
Final | 1 | 25 | 25 |
Total Workload | 174 |