| 1 |
Course Title: |
DESIGN AND ANALYSIS OF ALGORITHMS |
| 2 |
Course Code: |
END5121 |
| 3 |
Type of Course: |
Optional |
| 4 |
Level of Course: |
Second Cycle |
| 5 |
Year of Study: |
1 |
| 6 |
Semester: |
1 |
| 7 |
ECTS Credits Allocated: |
7,5 |
| 8 |
Theoretical (hour/week): |
3 |
| 9 |
Practice (hour/week) : |
0 |
| 10 |
Laboratory (hour/week) : |
0 |
| 11 |
Prerequisites: |
None |
| 12 |
Recommended optional programme components: |
None |
| 13 |
Language: |
Turkish |
| 14 |
Mode of Delivery: |
Face to face |
| 15 |
Course Coordinator: |
Prof. Dr. ERDAL EMEL |
| 16 |
Course Lecturers: |
|
| 17 |
Contactinformation of the Course Coordinator: |
erdal@uludag.edu.tr Tel: 0224 294 2080 Endüstri Mühendisliği Bölümü, Mühendislik Mimarlık Fakültesi Uludağ Üniversitesi, Görükle, Bursa |
| 18 |
Website: |
|
| 19 |
Objective of the Course: |
Computer programs have an indisputable importance for almost all engineering applications. Programs have their basis from the algorithms. Regardless of the type of problems for different applications, there are always common things in algorithms. In this course, especially for optimization practices, it is aimed for Industrial Engineering students' to gain knowledge and skills on analytical thinking and practice for developing new algorithms. |
| 20 |
Contribution of the Course to Professional Development |
|
| Week |
Theoretical |
Practical |
| 1 |
Algorithm definition, algorithmic problem solving, problem-types, data types. |
|
| 2 |
The effectiveness of two algorithms: asymptotic representation, recursive and non-recursive Algorithms in mathematical analysis |
|
| 3 |
Brute force, exhaustive research algorithms |
|
| 4 |
Divide and Conquer algorithms: associative sort, quick sort, binary search |
|
| 5 |
Decrease-and-conquer algorithms: insertion sort, Depth-First Search, Breadth-First search, topological sorting. |
|
| 6 |
Simplify and conquer: pre-order, Gauss elimination, balanced search trees, vertical sorting. |
|
| 7 |
Size and duration swaps: string matching, hashing, binary tree structures. |
|
| 8 |
Dynamic programming algorithms: Floyd, back-pack |
|
| 9 |
Greedy algoritms: Prim, Kruskal, Dikstra |
|
| 10 |
Iterative improvement algorithms: Simplex, Maximum Flow Problem |
|
| 11 |
Algorithm Limits: lower-limit, the decision trees, P, NP, and NP-complete problems. |
|
| 12 |
Algorithmic constraints combat: backtracking |
|
| 13 |
Branch and Bound |
|
| 14 |
Approximation algorithms for NP-hard problems |
|