ECTS - Algorithms and Optimization Methods
Algorithms and Optimization Methods (SE328) Course Detail
Course Name | Course Code | Season | Lecture Hours | Application Hours | Lab Hours | Credit | ECTS |
---|---|---|---|---|---|---|---|
Algorithms and Optimization Methods | SE328 | Area Elective | 3 | 0 | 0 | 3 | 5 |
Pre-requisite Course(s) |
---|
CMPE226 |
Course Language | English |
---|---|
Course Type | Elective Courses |
Course Level | Natural & Applied Sciences Master's Degree |
Mode of Delivery | Face To Face |
Learning and Teaching Strategies | Lecture. |
Course Lecturer(s) |
|
Course Objectives | This course is designed to teach students how to analyze and design algorithms and measure their complexities. In addition, students will be able to implement optimization methods for optimization problems. |
Course Learning Outcomes |
The students who succeeded in this course;
|
Course Content | Design and analysis of algorithms; mathematical complexity of algorithms; master theorem; decrease-and-conquer; divide-and-conquer; transform-and-conquer; introduction to some optimization techniques; dynamic programming; greedy technique; iterative improvement; coping with limitations of algorithm power. |
Weekly Subjects and Releated Preparation Studies
Week | Subjects | Preparation |
---|---|---|
1 | The role of algorithms and Getting Started | CLRS Ch 1-2 |
2 | Growth of Functions, Asymptotic Notation | CLRS Ch. 3 |
3 | Solving Recurrences: Substitution Method | CLRS Ch. 4 |
4 | Solving Recurrences: Recursion-Tree Method, Master's Method | CLRS Ch. 4 |
5 | Brute Force and Exhaustive Search | LVTN Ch. 3 & CLRS Ch. 22 |
6 | Decrease-and-Conquer | LVTN Ch. 4 & CLRS Ch. 22 |
7 | Divide-and-Conquer | LVTN Ch. 5 & CLRS Ch. 7 |
8 | Transform-and-Conquer | LVTN Ch. 6 & CLRS Ch. 6 |
9 | Dynamic Programming | LVTN Ch. 8 & CLRS Ch. 15 |
10 | Dynamic Programming | LVTN Ch. 8 & CLRS Ch. 15 |
11 | Greedy Algorithms | LVTN Ch. 9 & CLRS Ch. 16 |
12 | Greedy Algorithms | LVTN Ch. 9 & CLRS Ch. 16 |
13 | Iterative Improvement: The Simplex Method | LVTN Ch. 10 |
14 | Limitations of Algorithm Power, Coping with the Limitations of Algorithm Power, P, NP, NP-Complete Problems | LVTN Ch. 11 |
15 | Final Exam | |
16 | Final Exam |
Sources
Course Book | 1. Anany Levitin, Introduction to the Design & Analysis of Algorithms, 3rd edi-tion, Pearson, 2012. |
---|---|
Other Sources | 2. T.H.Cormen, C.E.Leiserson, R.L.Rivest and C.Stein: Introduction to Algorithms, MIT Press 2001. |
3. E.Horowitz, S.Sahni: Fundamentals of Computer Algorithms, Computer Sci-ence Press, 1989. | |
4. E.Horowitz, S.Sahni, S.Rajasekeran, Computer Algorithms, ISBN: 978-0-929306-41-4, Silicon Press, 2008. | |
5. J.Kleinberg, E.Tardos, Algorithm Design, Addison – Wesley, ISBN: 0-321-29535-8, 2006. | |
6. A.V.Aho, J.E.Hopcroft, J.D.Ullman, The Design and Analysis of Computer Algo-rithms, Addison-Wesley Series in Computer Science and Information Pro-cessing, 1979. | |
7. S.S. Skiena, The Algorithm Design Manual, Springer – Verlag, New York, 1998. |
Evaluation System
Requirements | Number | Percentage of Grade |
---|---|---|
Attendance/Participation | - | - |
Laboratory | - | - |
Application | - | - |
Field Work | - | - |
Special Course Internship | - | - |
Quizzes/Studio Critics | - | - |
Homework Assignments | 3 | 15 |
Presentation | - | - |
Project | - | - |
Report | - | - |
Seminar | - | - |
Midterms Exams/Midterms Jury | 2 | 50 |
Final Exam/Final Jury | 1 | 35 |
Toplam | 6 | 100 |
Percentage of Semester Work | 65 |
---|---|
Percentage of Final Work | 35 |
Total | 100 |
Course Category
Core Courses | X |
---|---|
Major Area Courses | |
Supportive Courses | |
Media and Managment Skills Courses | |
Transferable Skill Courses |
The Relation Between Course Learning Competencies and Program Qualifications
# | Program Qualifications / Competencies | Level of Contribution | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
1 | An ability to apply advanced knowledge of computing and/or informatics to solve software engineering problems. | X | ||||
2 | Develop solutions using different technologies, software architectures and life-cycle approaches. | |||||
3 | An ability to design, implement and evaluate a software system, component, process or program by using modern techniques and engineering tools required for software engineering practices. | |||||
4 | An ability to gather/acquire, analyze, interpret data and make decisions to understand software requirements. | |||||
5 | Skills of effective oral and written communication and critical thinking about a wide range of issues arising in the context of working constructively on software projects. | |||||
6 | An ability to access information in order to follow recent developments in science and technology and to perform scientific research or implement a project in the software engineering domain. | |||||
7 | An understanding of professional, legal, ethical and social issues and responsibilities related to Software Engineering. | |||||
8 | Skills in project and risk management, awareness about importance of entrepreneurship, innovation and long-term development, and recognition of international standards of excellence for software engineering practices standards and methodologies. | |||||
9 | An understanding about the impact of Software Engineering solutions in a global, environmental, societal and legal context while making decisions. | |||||
10 | Promote the development, adoption and sustained use of standards of excellence for software engineering practices. |
ECTS/Workload Table
Activities | Number | Duration (Hours) | Total Workload |
---|---|---|---|
Course Hours (Including Exam Week: 16 x Total Hours) | |||
Laboratory | |||
Application | |||
Special Course Internship | |||
Field Work | |||
Study Hours Out of Class | 16 | 2 | 32 |
Presentation/Seminar Prepration | |||
Project | |||
Report | |||
Homework Assignments | 3 | 4 | 12 |
Quizzes/Studio Critics | |||
Prepration of Midterm Exams/Midterm Jury | |||
Prepration of Final Exams/Final Jury | 1 | 15 | 15 |
Total Workload | 59 |