Information
Code | CEN213 |
Name | Data Structures |
Term | 2024-2025 Academic Year |
Semester | 3. Semester |
Duration (T+A) | 3-0 (T-A) (17 Week) |
ECTS | 5 ECTS |
National Credit | 3 National Credit |
Teaching Language | İngilizce |
Level | Lisans Dersi |
Type | Normal |
Mode of study | Yüz Yüze Öğretim |
Catalog Information Coordinator | Prof. Dr. SELMA AYŞE ÖZEL |
Course Instructor |
Dr. Öğr. Üyesi SERKAN KARTAL
(A Group)
(Ins. in Charge)
|
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 C programming knowledge is required.
Resources
WEISS M.A., DATA STRUCTURES ALGORITHM ANALYSIS IN C++, Addison Wesley, 1999.
Notes
Other sources about C and C++
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 | Adequate knowledge of mathematics, science and related engineering disciplines; ability to use theoretical and applied knowledge in these fields in solving complex engineering problems. | 3 |
PLO02 | Bilgi - Kuramsal, Olgusal | Ability to identify, formulate and solve complex engineering problems; ability to select and apply appropriate analysis and modeling methods for this purpose. | 4 |
PLO03 | Bilgi - Kuramsal, Olgusal | Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions; ability to apply modern design methods for this purpose. | |
PLO04 | Bilgi - Kuramsal, Olgusal | Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice; ability to use information technologies effectively. | |
PLO05 | Bilgi - Kuramsal, Olgusal | Ability to design and conduct experiments, collect data, analyze and interpret results to investigate complex engineering problems or discipline-specific research topics. | 2 |
PLO06 | Bilgi - Kuramsal, Olgusal | Ability to work effectively in interdisciplinary and multidisciplinary teams; individual working skills. | |
PLO07 | Bilgi - Kuramsal, Olgusal | Ability to communicate effectively verbally and in writing; knowledge of at least one foreign language; ability to write effective reports and understand written reports, prepare design and production reports, make effective presentations, and give and receive clear and understandable instructions. | 4 |
PLO08 | Bilgi - Kuramsal, Olgusal | Awareness of the necessity of lifelong learning; ability to access information, follow developments in science and technology, and constantly renew oneself. | 3 |
PLO09 | Bilgi - Kuramsal, Olgusal | Knowledge of ethical principles, professional and ethical responsibility, and standards used in engineering practice. | 2 |
PLO10 | Bilgi - Kuramsal, Olgusal | Knowledge of business practices such as project management, risk management and change management; awareness of entrepreneurship and innovation; knowledge of sustainable development. | |
PLO11 | Bilgi - Kuramsal, Olgusal | Knowledge of the effects of engineering practices on health, environment and safety in universal and social dimensions and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions. |
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, Gösterip Yaptırma |
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 | Öğ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: Anlatım, Gösterip Yaptırma |
15 | Using the graph data structure | Reading of course notes | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
16 | Preparation to the final exam | Reading of course notes | Öğretim Yöntemleri: Soru-Cevap |
17 | Final Exam | 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 | 0 | 0 | 0 |
Mid-term Exams (Written, Oral, etc.) | 1 | 12 | 12 |
Final Exam | 1 | 18 | 18 |
Total Workload (Hour) | 114 | ||
Total Workload / 25 (h) | 4,56 | ||
ECTS | 5 ECTS |