CEN213 Data Structures

5 ECTS - 3-0 Duration (T+A)- 3. Semester- 3 National Credit

Information

Code CEN213
Name Data Structures
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 Goal

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 Has capability in the fields of mathematics, science and computer that form the foundations of engineering 3
PLO02 Bilgi - Kuramsal, Olgusal Identifies, formulates, and solves engineering problems, selects and applies appropriate analytical methods and modeling techniques, 4
PLO03 Bilgi - Kuramsal, Olgusal Analyzes a system, its component, or process and designs under realistic constraints to meet the desired requirements,gains the ability to apply the methods of modern design accordingly.
PLO04 Bilgi - Kuramsal, Olgusal Ability to use modern techniques and tools necessary for engineering practice and information technologies effectively.
PLO05 Bilgi - Kuramsal, Olgusal Ability to design and to conduct experiments, to collect data, to analyze and to interpret results 2
PLO06 Bilgi - Kuramsal, Olgusal Has ability to work effectively as an individual and in multi-disciplinary teams, take sresponsibility and builds self-confidence
PLO07 Beceriler - Bilişsel, Uygulamalı Can access information,gains the ability to do resource research and uses information resources 4
PLO08 Beceriler - Bilişsel, Uygulamalı Awareness of the requirement of lifelong learning, to follow developments in science and technology and continuous self-renewal ability 3
PLO09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Ability to communicate effectively orally and in writing, and to read and understand technical publications in at least one foreign language 2
PLO10 Yetkinlikler - Öğrenme Yetkinliği Professional and ethical responsibility,
PLO11 Yetkinlikler - Öğrenme Yetkinliği Awareness about project management, workplace practices, employee health, environmental and occupational safety, and the legal implications of engineering applications,
PLO12 Yetkinlikler - Öğrenme Yetkinliği Becomes aware of universal and social effects of engineering solutions and applications, entrepreneurship and innovation, and knowledge of contemporary issues


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