Software Engineering (English) | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | CENG203 | ||||||||
Course Name: | Data Structures | ||||||||
Course Semester: | Fall | ||||||||
Course Credits: |
|
||||||||
Language of instruction: | EN | ||||||||
Course Requisites: |
CENG106 - Object Oriented Programming I |
||||||||
Does the Course Require Work Experience?: | No | ||||||||
Type of course: | Compulsory | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Dr.Öğr.Üyesi ALİ UFUK PEKER | ||||||||
Course Lecturer(s): |
Öğr.Gör. KÜBRA CENGİZ Assoc. Prof. SHADI HILLES Dr.Öğr.Üyesi RÜYAM ACAR Assoc. Prof. YUSUF KAVURUCU Öğr.Gör. Behnam Rahnama |
||||||||
Course Assistants: |
Course Objectives: | The course concentrates on programming and problem solving in the context of real applications. The focus is on algorithms and data structures. In the first part of the course algorithm analysis, basic data structures such as lists, stacks, bags, queues, priority queues, trees, hash tables and classic algortihms for sorting and searching are introduced. In the second part, more advanced algorithms such as graphs, algorithms for processing strings are considered. |
Course Content: | 1 Introduction, Case Study: Union-Find, Analysis of Algorithms 2 Stacks and Queues Elementary Sorts (Selection Sort, Insertion Sort, Shell Sort) 3 Mergesort, Quicksort 4 Priority Queues, Heapsort 5 Elementary Symbol Tables, Binary Search Trees Project 1 6 Balanced Search Trees, Geometric Applications of BSTs 7 Hash Tables, Symbol Table Applications 8 Midterm 9 Undirected Graphs Project 2 10 Directed Graphs, 11 Minimum Spanning Trees, Shortest Paths 12 String Sorts, Tries, Substring Search 13 Regular Expressions, Data Compression |
The students who have succeeded in this course;
|
Week | Subject | Related Preparation |
1) | Introduction, Case Study: Union-Find, Analysis of Algorithms | |
2) | Stacks and Queues Elementary Sorts (Selection Sort, Insertion Sort, Shell Sort) | |
3) | Mergesort, Quicksort | |
4) | Priority Queues, Heapsort | |
5) | Elementary Symbol Tables, Binary Search Trees | |
6) | Balanced Search Trees, Geometric Applications of BSTs | |
7) | Hash Tables, Symbol Table Applications | |
8) | Midterm | |
9) | Undirected Graphs | |
10) | Directed Graphs | |
11) | Minimum Spanning Trees, Shortest Paths | |
12) | String Sorts, Tries, Substring Search | |
13) | Regular Expressions, Data Compression |
Course Notes / Textbooks: | Algorithms,4th Edition, R. Sedgewick and K. Wayne, Addison-Wesley Professional, 2011, ISBN 0-321-57351-X |
References: | Book website: http://algs4.cs.princeton.edu Algoritma Geliştirme ve Veri Yapıları, 3. Basım, Rifat Çölkesen, Papatya Yayıncılık, 2016, ISBN 978-975-6797-94-5 |
Learning Outcomes | 1 |
6 |
7 |
|||||||
---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||
1) Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development. | ||||||||||
2) Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. | ||||||||||
3) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. | ||||||||||
4) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) | ||||||||||
5) Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. | ||||||||||
6) Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems. | ||||||||||
7) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge. | ||||||||||
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | ||||||||||
9) Professional and ethical responsibility. | ||||||||||
10) Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions. | ||||||||||
11) The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development. | |
2) | Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. | 1 |
3) | The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. | 4 |
4) | The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) | 2 |
5) | Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. | |
6) | Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems. | 5 |
7) | Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge. | |
8) | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | |
9) | Professional and ethical responsibility. | |
10) | Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions. | 3 |
11) | The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. |
Expression | |
Lesson | |
Project preparation |
Written Exam (Open-ended questions, multiple choice, true-false, matching, fill in the blanks, sequencing) | |
Individual Project |
Semester Requirements | Number of Activities | Level of Contribution |
Attendance | 10 | % 10 |
Project | 2 | % 30 |
Midterms | 1 | % 20 |
Final | 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 |
Study Hours Out of Class | 14 | 3 | 42 |
Project | 2 | 15 | 30 |
Midterms | 1 | 2 | 2 |
Paper Submission | 2 | 1 | 2 |
Final | 1 | 2 | 2 |
Total Workload | 120 |