COMPUTER ENGINEERING
Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Ders Genel Tanıtım Bilgileri

Course Code: 1410211001
Ders İsmi: Data Structures
Ders Yarıyılı: Fall
Ders Kredileri:
Theoretical Practical Credit ECTS
3 0 3 8
Language of instruction: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: No
Type of course: Necessary
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Assoc. Prof. Ali ÇİVRİL
Course Lecturer(s): Assoc. Prof. Ali ÇİVRİL
Course Assistants:

Dersin Amaç ve İçeriği

Course Objectives: Students who successfully complete this course
1. Understand the necessity and importance of using different data structures to solve problems encountered in Computer Science/Engineering.
2. Know basic data structures and algorithms and their implementation
3. Will be able to solve various problems with knowledge of data structures and algorithms
4. Will be able to write the solutions to these problems in C++.
Course Content: Bu ders C++’ta bilgisayar bilimi ve mühendisliğinde kullanılan temel veri yapılarıyla problem çözme tekniklerini ve temel algoritmik yöntemleri konu edinmektedir. Ders girişte algoritma analizi ve verimliliğinden, sıralama algoritmalarından bahseder. Konu edinilen veri yapıları arasında bağlı listeler, yığıtlar, kuyruklar, ağaçlar, yığınlar, çırpı tabloları ve çizgeler vardır. Çizgeler üzerindeki temel algoritmalardan, böl-ve-fethet yönteminden ve dinamik programlamadan da bahsedilecektir.

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
2 - Skills
Cognitive - Practical
3 - Competences
Communication and Social Competence
Learning Competence
Field Specific Competence
1) Ability to use and compare data structures in different application areas.
2) Ability to use the necessary tools for application design and development.
Competence to Work Independently and Take Responsibility

Ders Akış Planı

Week Subject Related Preparation
1) Algorithm Analysis, O Notation Çölkesen Bölüm 5, Weiss Chapter 2
1)
2) Sorting Algorithms Çölkesen Bölüm 6, Weiss Chapter 7
3) Sorting Algorithms, Search Algorithms Çölkesen Bölüm 6, Bölüm 7, Weiss Chapter 7
4) Linked Lists Çölkesen Bölüm 8, Weiss Chapter 3
5) Linked Lists Çölkesen Bölüm 8, Weiss Chapter 3
6) Stacks Çölkesen Bölüm 9, Weiss Chapter 3
7) Queues Çölkesen Bölüm 9, Weiss Chapter 3
8) Midterm Exam
9) Trees Çölkesen Bölüm 10, Weiss Chapter 4
10) Trees Çölkesen Bölüm 10, Weiss Chapter 4
11) Heaps and Heapsort Çölkesen Bölüm 6.6, Weiss Chapter 6
12) Hash Tables Çölkesen Bölüm 7.4, Weiss Chapter 5
13) Graph Algorithms Çölkesen Bölüm 12, 13, Weiss Chapter 9
14) Graph Algorithms Çölkesen Bölüm 12, 13, Weiss Chapter 9
15) Final

Sources

Course Notes / Textbooks: Tavsiye) Veri Yapıları ve Algoritmalar, Toros Rifat Çölkesen, Papatya Yayıncılık. (Tavsiye) Data Structures and Algorithm Analysis in C++, 4th Edition, Mark Allen Weiss, Pearson. (Tavsiye) C++ How to Program, 10th Edition (Global Edition), Paul Deitel-Harvey Deitel, Pearson.
References: Tavsiye) Veri Yapıları ve Algoritmalar, Toros Rifat Çölkesen, Papatya Yayıncılık. (Tavsiye) Data Structures and Algorithm Analysis in C++, 4th Edition, Mark Allen Weiss, Pearson. (Tavsiye) C++ How to Program, 10th Edition (Global Edition), Paul Deitel-Harvey Deitel, Pearson.

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

Program Outcomes
1) PO 1.1) Sufficient knowledge in mathematics, science and computer engineering
2) PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems.
3) PO 2.1) Identifying complex engineering problems
4) PO 2.2) Defining complex engineering problems
5) PO 2.3) Formulating complex engineering problems
6) PO 2.4) Ability to solve complex engineering problems
7) PO 2.5) Ability to choose and apply appropriate analysis and modeling methods
8) PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions.
9) PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product
10) PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
11) PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
12) PO 4.3) Ability to use information technologies effectively.
13) PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments
14) PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation
15) PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection
16) PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics
17) PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics

Ders - Öğrenme Kazanımı İlişkisi

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) PO 1.1) Sufficient knowledge in mathematics, science and computer engineering
2) PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems.
3) PO 2.1) Identifying complex engineering problems
4) PO 2.2) Defining complex engineering problems
5) PO 2.3) Formulating complex engineering problems
6) PO 2.4) Ability to solve complex engineering problems
7) PO 2.5) Ability to choose and apply appropriate analysis and modeling methods 5
8) PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions.
9) PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product
10) PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
11) PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications
12) PO 4.3) Ability to use information technologies effectively.
13) PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments
14) PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation
15) PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection
16) PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics
17) PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics

Öğrenme Etkinliği ve Öğretme Yöntemleri

Course
Homework
Problem Çözme

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Homework

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Homework Assignments 3 % 30
Midterms 1 % 30
Semester Final Exam 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 3 42
Laboratory 14 2 28
Study Hours Out of Class 14 4 56
Homework Assignments 10 2 20
Midterms 1 2 2
Final 1 3 3
Total Workload 151