Information
Code | BBZ203 |
Name | Data Structures |
Term | 2024-2025 Academic Year |
Semester | 3. Semester |
Duration (T+A) | 3-1 (T-A) (17 Week) |
ECTS | 6 ECTS |
National Credit | 3 National Credit |
Teaching Language | Türkçe |
Level | Belirsiz |
Type | Normal |
Mode of study | Yüz Yüze Öğretim |
Catalog Information Coordinator | Öğr. Gör.Dr. YOLDAŞ ERDOĞAN |
Course Instructor |
Öğr. Gör.Dr. YOLDAŞ ERDOĞAN
(A Group)
(Ins. in Charge)
|
Course Goal / Objective
The aim of this course is to teach students the concept of Data Structures, which forms the basis of design and analysis in computer science. This course introduces some data structures and algorithms that may be encountered in practice. In the course, algorithm efficiency is emphasized by analyzing the running times of algorithms programmatically. For applications and programming, one of the programming languages taught in department courses is used.
Course Content
Algorithm analysis, linear data structures, trees, hashing, priority queues, sorting, graph algorithms and listings.
Course Precondition
Being able to use a programming language with basic computer and algorithm knowledge.
Resources
It will be announced in class.
Notes
It will be announced in class.
Course Learning Outcomes
Order | Course Learning Outcomes |
---|---|
LO01 | Will be able to analyze algorithms by having knowledge about their working techniques. |
LO02 | In solving search problems that involve data addition and deletion, the student will be able to choose the more advantageous one among array and linked list structures and hashing techniques. |
LO03 | Will be able to develop computer programs that will operate at a cost of O (log n) per search, insertion and deletion operations by using appropriate tree structures. |
LO04 | For efficient applications that need sorting, one will be able to choose the right sorting algorithm. |
LO05 | Will be able to describe the usage areas of various data structures. |
LO06 | Will be able to explain the operations required to maintain common data structures. |
LO07 | Will be able to design solutions to simple computational problems using graph algorithms. |
Relation with Program Learning Outcome
Order | Type | Program Learning Outcomes | Level |
---|---|---|---|
PLO01 | Bilgi - Kuramsal, Olgusal | Gain comprehensive knowledge of fundamental concepts, algorithms, and data structures in Computer Science. | 2 |
PLO02 | Bilgi - Kuramsal, Olgusal | Learn essential computer topics such as software development, programming languages, and database management | 2 |
PLO03 | Bilgi - Kuramsal, Olgusal | Understand advanced computer fields like data science, artificial intelligence, and machine learning. | 2 |
PLO04 | Bilgi - Kuramsal, Olgusal | Acquire knowledge of topics like computer networks, cybersecurity, and database design. | |
PLO05 | Beceriler - Bilişsel, Uygulamalı | Develop skills in designing, implementing, and analyzing algorithms | 4 |
PLO06 | Beceriler - Bilişsel, Uygulamalı | Gain proficiency in using various programming languages effectively | |
PLO07 | Beceriler - Bilişsel, Uygulamalı | Learn skills in data analysis, database management, and processing large datasets. | |
PLO08 | Beceriler - Bilişsel, Uygulamalı | Acquire practical experience through working on software development projects. | |
PLO09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Strengthen teamwork and communication skills. | |
PLO10 | Yetkinlikler - Alana Özgü Yetkinlik | Foster a mindset open to technological innovations. | |
PLO11 | Yetkinlikler - Öğrenme Yetkinliği | Encourage the capacity for continuous learning and self-improvement. | |
PLO12 | Yetkinlikler - İletişim ve Sosyal Yetkinlik | Enhance the ability to solve complex problems | 2 |
Week Plan
Week | Topic | Preparation | Methods |
---|---|---|---|
1 | Mathematical Repetition and Recursion | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
2 | Algorithm Analysis (basic algorithm concepts, modeling runtimes, Big-O notation, calculation of runtimes) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
3 | Algorithm Analysis and Linear Data Structures (Linked Lists) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
4 | Linear Data Structures (Linked Lists, Stacks, Stack Implementations) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
5 | Linear Data Structures (Queues) and Trees (Binary Trees) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
6 | Trees (Binary Search Trees) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
7 | Trees (AVL Trees) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
8 | Mid-Term Exam | Ölçme Yöntemleri: Yazılı Sınav |
|
9 | Mixed | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
10 | Priority Queues: Binary Stacks | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
11 | Sorting (Insert Sort, Shell Sort, Heap Sort) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
12 | Sort (Merge sort, Quick Sort) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
13 | Graph Algorithms (Definitions, Representations, Topological Sorting) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
14 | Graph Algorithms (Shortest Path Algorithms) | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
15 | Lesson review | Reading lecture notes and doing exercises | Öğretim Yöntemleri: Anlatım |
16 | Term Exams | Ölçme Yöntemleri: Yazılı Sınav |
|
17 | Term Exams | Ölçme Yöntemleri: Yazılı Sınav |
Student Workload - ECTS
Works | Number | Time (Hour) | Workload (Hour) |
---|---|---|---|
Course Related Works | |||
Class Time (Exam weeks are excluded) | 14 | 2 | 28 |
Out of Class Study (Preliminary Work, Practice) | 14 | 4 | 56 |
Assesment Related Works | |||
Homeworks, Projects, Others | 6 | 10 | 60 |
Mid-term Exams (Written, Oral, etc.) | 1 | 3 | 3 |
Final Exam | 1 | 3 | 3 |
Total Workload (Hour) | 150 | ||
Total Workload / 25 (h) | 6,00 | ||
ECTS | 6 ECTS |