Information
| Unit | FACULTY OF SCIENCE AND LETTERS |
| ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING PR. (ENGLISH) | |
| Code | YZZ203 |
| Name | Data Structures |
| Term | 2026-2027 Academic Year |
| Semester | 3. Semester |
| Duration (T+A) | 3-2 (T-A) (17 Week) |
| ECTS | 6 ECTS |
| National Credit | 4 National Credit |
| Teaching Language | İngilizce |
| Level | Lisans Dersi |
| Type | Normal |
| Label | FE Field Education Courses C Compulsory |
| Mode of study | Yüz Yüze Öğretim |
| Catalog Information Coordinator | Prof. Dr. YUSUF ALPER KAPLAN |
| Course Instructor |
The current term course schedule has not been prepared yet.
|
Course Goal / Objective
To understand basic data structures and to be able to apply them for problem solving
Course Content
Analysis of running time and memory requirements of data structures and algorithms, linked list, stack, queue, tree, graph data structures and their applications
Course Precondition
Basic programming knowledge is required.
Resources
WEISS M.A., DATA STRUCTURES ALGORITHM ANALYSIS IN C++, Addison Wesley, 1999.
Notes
WEISS M.A., DATA STRUCTURES ALGORITHM ANALYSIS IN C++, Addison Wesley, 1999.
Course Learning Outcomes
| Order | Course Learning Outcomes |
|---|---|
| LO01 | Gains the ability to analyze the data structures and algorithms for runtime and memory requirements. |
| LO02 | Understands linked lists, stack, queue, tree and graph data structures, and their array and pointer based programming. |
| LO03 | Gains ability to decide which data structure and model should be used to solve real life problems in the most efficient way. |
| LO04 | Applies the most suitable data structure to solve real life problems. |
Relation with Program Learning Outcome
| Order | Type | Program Learning Outcomes | Level |
|---|---|---|---|
| PLO01 | Bilgi - Kuramsal, Olgusal | It provides a broad range of knowledge about fundamental Computer Science concepts, algorithms and data structures. | |
| PLO02 | Bilgi - Kuramsal, Olgusal | Learns basic computer topics such as software development, programming languages, and database management. | 5 |
| PLO03 | Bilgi - Kuramsal, Olgusal | Understands advanced computing fields such as data science, artificial intelligence, and machine learning. | |
| PLO04 | - | Learn about topics such as computer networks, cyber security, and database design. | 5 |
| PLO05 | Beceriler - Bilişsel, Uygulamalı | Develops skills in designing, implementing and analyzing algorithms. | |
| PLO06 | Beceriler - Bilişsel, Uygulamalı | Gains the ability to use different programming languages effectively | |
| PLO07 | Beceriler - Bilişsel, Uygulamalı | Learns data analysis, database management and big data processing skills. | |
| PLO08 | Beceriler - Bilişsel, Uygulamalı | Gains practical experience by working on software development projects. | |
| PLO09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Strengthens collaboration and communication skills within the team. | |
| PLO10 | Yetkinlikler - Alana Özgü Yetkinlik | It provides a mindset open to technological innovations. | |
| PLO11 | Yetkinlikler - Öğrenme Yetkinliği | Encourages continuous learning and self-improvement competence. | |
| PLO12 | Yetkinlikler - İletişim ve Sosyal Yetkinlik | Develops the ability to solve complex problems. |
Week Plan
| Week | Topic | Preparation | Methods |
|---|---|---|---|
| 1 | Explaining data structure and data model concepts, giving examples | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 2 | Program execution speed and memory requirement calculation methods | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 3 | Application of program execution speed and memory requirement calculation methods with sample programs | Reading of course notes, homework | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 4 | Insertion sort, selection sort, bubble sort algorithms and their comparison | Reading of course notes | Öğretim Yöntemleri: Anlatım |
| 5 | Merge sort, heap sort, quick sort algorithms and comparison of all sorting algorithms | Reading of course notes, homework | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 6 | Sequential Search and Binary Search algorithms, analysis and applications | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 7 | Hash search algorithms, analysis, and applications | Reading of course notes, homework | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 8 | Mid-Term Exam | Reading of course notes | Ölçme Yöntemleri: Yazılı Sınav |
| 9 | Single and bidirectional linked lists and applications | Reading of course notes, homework | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 10 | Stack Data Structure and its applications | Reading of course notes, homework | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 11 | Queue Data Structure and its applications | Reading of course notes, homework | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 12 | Identification of the Tree Data Model | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 13 | Binary Tree, Expression Tree, Heap Tree, Coding Trees and applications | Reading of course notes, homework | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 14 | Defining the chart data model | Reading of course notes | Öğretim Yöntemleri: Gösterip Yaptırma, Anlatım |
| 15 | Using the graph data structure | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 16 | Term Exams | Reading of course notes | Ölçme Yöntemleri: Yazılı Sınav |
| 17 | Term Exams | Reading of course notes | Ö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 | 3 | 42 |
| Out of Class Study (Preliminary Work, Practice) | 14 | 3 | 42 |
| Assesment Related Works | |||
| Homeworks, Projects, Others | 3 | 6 | 18 |
| Mid-term Exams (Written, Oral, etc.) | 1 | 14 | 14 |
| Final Exam | 1 | 28 | 28 |
| Total Workload (Hour) | 144 | ||
| Total Workload / 25 (h) | 5,76 | ||
| ECTS | 6 ECTS | ||