COMPUTER ENGINEERING | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | 1410211001 | ||||||||
Ders İsmi: | Data Structures | ||||||||
Ders Yarıyılı: | Fall | ||||||||
Ders Kredileri: |
|
||||||||
Language of instruction: | TR | ||||||||
Ders Koşulu: | |||||||||
Ders İş Deneyimini Gerektiriyor mu?: | No | ||||||||
Type of course: | Necessary | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Assoc. Prof. Ali ÇİVRİL | ||||||||
Course Lecturer(s): |
Assoc. Prof. Ali ÇİVRİL |
||||||||
Course Assistants: |
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. |
The students who have succeeded in this course;
|
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 |
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 Öğ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 |
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 |
Course | |
Homework | |
Problem Çözme |
Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
Homework |
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 |
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 |