Lesson plan / ANALYSIS AND DESIGN OF ALGORITHMS

Lesson Information

Course Credit 3.0
Course ECTS Credit 5.0
Teaching Language of Instruction Türkçe
Level of Course Bachelor's Degree, TYYÇ: Level 6, EQF-LLL: Level 6, QF-EHEA: First Cycle
Type of Course Compulsory
Mode of Delivery Face-to-face
Does the course require compulsory or optional work experience? Z
Course Coordinator Assist. Prof. Dr. ADEM ÖZYAVAŞ
Instructor (s)
Course Assistant

Purpose and Content

The aim of the course The objective of this course unit is to analyze the structures of algorithms, the problems in their design and applications, the complexity of the algorithms and the problems in computation, as well as the types of algorithms and the runtime estimation methods. All these are necessary to design and apply for solving practical problems.
Course Content The concept of algorithm, Simplist sorting algorithms, Designing approachs: recursive and divide-and-conquer strategies; asymptotic notations, complexity analysis, running times defining, algorithm design techniques: greedy methods, min-cost spanning trees, backtracking algorithms, branch-and-bound methodology

Weekly Course Subjects

1Introduction. Insertion sort algorithm.
2Algorithm analysing methods.Examples
3Designing algorithms: recursive and divide-and-conquer methods.
4Asymptotic notations.
5Practical complexity analysis.
6Running times defining.
7Linear lists: a chain ıterator class in C++.
8Midterm exam.
9Arrays as classes.
10Trees: tournament and binary-search trees.
11AVL and B-trees.
12Algorithm-design techniques: the Greedy method, Divide-and-conquer method.
13Backtracking algorithms. Branch-and-Bound methodology
14Applications examples: using "open" and "closed" lists.

Resources

1-Cormen T.H. etc. "Introduction to Algorithms", The MIT Press, 2001.