COE206 Analysis of AlgorithmsIstinye UniversityDegree Programs Software Engineering(Except Computer Engineering)MinorGeneral Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications

Course Introduction and Application Information

Course Code: COE206
Course Name: Analysis of Algorithms
Semester: Fall
Course Credits:
ECTS
6
Language of instruction: English
Course Condition:
Does the Course Require Work Experience?: No
Type of course: Compulsory Courses
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: Doç. Dr. AMIR SEYYEDABBASI
Course Lecturer(s): Assist. Prof. Dr. Muhammed Davud, Res. Assist. Yazım Beril Uluer
Course Assistants:

Course Objective and Content

Course Objectives: This course teaches students how to evaluate the efficiency and performance of algorithms. Students learn various techniques for analyzing algorithms, such as time complexity, space complexity, and asymptotic analysis. By studying these strategies and techniques, students learn how to choose the most appropriate approach for solving a given problem and how to analyze the performance of their solutions.
Course Content: The course covers different types of algorithms such as sorting, searching and graph algorithms, as well as common data structures used in algorithm design. Students also learn about algorithmic strategies and techniques such as divide and conquer, reduce and conquer, transform and conquer, dynamic programming, greedy algorithms, and backtracking algorithms.

Learning Outcomes

The students who have succeeded in this course;
1) Evaluate the efficiency and performance of different algorithms using techniques such as time complexity, space complexity, and asymptotic analysis.
2) Apply various algorithmic strategies and techniques, such as divide and conquer, decrease and conquer, transform and conquer, dynamic programming, greedy algorithms, and backtracking algorithms, to solve different types of problems.
3) Use common data structures, such as arrays, linked lists, trees, and hash tables, to implement algorithms.
4) Analyze the performance of algorithmic solutions using empirical methods and theoretical analysis.

Course Flow Plan

Week Subject Related Preparation
1) Introduction
2) Analysis of Algorithm Efficiency
3) Analysis of Algorithm Efficiency
4) Brute Force and Exhaustive Search
5) Decrease-and-Conquer
6) Divide-and-Conquer
7) Divide-and-Conquer
8) Midterm Exam
9) Transform-and-Conquer
10) Transform-and-Conquer
11) Space and Time Trade-Offs
12) Dynamic Programming
13) Greedy Technique
14) Iterative Improvement

Sources

Course Notes / Textbooks: Introduction to the Design & Analysis of Algorithms - 3rd edition, by Anany Levitin
References: Lecture notes

Course - Program Learning Outcome Relationship

Course Learning Outcomes

1

2

3

4

Program Outcomes

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Average 3 Highest
       
Program Outcomes Level of Contribution

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Homework Assignments 1 % 20
Midterms 1 % 30
Final 1 % 50
total % 100
PERCENTAGE OF SEMESTER WORK % 50
PERCENTAGE OF FINAL WORK % 50
total % 100

Workload and ECTS Credit Calculation

Activities Number of Activities Workload
Course Hours 13 39
Study Hours Out of Class 15 75
Homework Assignments 2 20
Midterms 1 2
Final 2 4
Total Workload 140