Algorithm design

Algorithm design

1.

Subject title

Algorithm design

Дизајн на алгоритми

2.

Code

F23L2S097

3.

Study program

Стручни студии за програмирање, Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Интернет, мрежи и безбедност, Software engineering and information systems, Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Интернет, мрежи и безбедност, Информатичка едукација, Software engineering and information systems, Стручни студии за програмирање, Statistics and Data Analytics,

4.

Organizer of the study program (unit, institute, department, division)

Faculty of Information Sciences and Computer Engineering

5.

Study cycle (first, second, third)

Прв циклус

6.

Academic year / semester

2 / Летен

7. Number of ECTS credits

6.0

8.

Instructor

проф. д-р Марија Михова

9.

Prerequisites for enrollment

Дискретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика

10.

Subject goals and competencies:


In this course, you will learn more algorithms and methods for solving computer problems, as well as certain data structures for their implementation. The student will gain programming experience, understand the principles of algorithm design, algorithm performance analysis, and learn the fundamental ideas of designing an efficient algorithm and combining it with an appropriate data structure. Ideas will be put into practice through laboratory exercises.

11.

Subject content:


What is an algorithm? Algorithm Design Techniques and Complexity Computing Techniques. Multidimensional Dynamic and Greedy Programming. Memoization in DP. Graph search (classification of edges and vertices, visit time and properties related to them). Algorithms for shortest paths from each to each vertex and their application. Algorithms that use surveying techniques. Union find, fibonacci pile and other more advanced structures and pimena. Flow through network and min-cut max-flow. Search trees (segmented, interval indexed). Algorithms for patterns in strings. Geometric algorithms.

12.

Learning methods:


Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка на домашни задачи. учење во електронско опкружување (форуми, консултации).

13.

Total available time fund

6.0 ECTS x 30 hours = 180 hours

14.

Time distribution

30 + 45 + 15 + 15 + 75 = 180 hours

15.

Forms of teaching activities

15.1.

Lectures - theoretical teaching

30 hours

15.2.

Exercises (laboratory, classroom), seminars, team work

45 hours

16.

Other forms of activities

16.1.

Project tasks

15 hours

16.2.

Independent tasks

15 hours

16.3.

Homework

75 hours

17.

Grading method

17.1.

Tests

10 points

17.2.

Seminar work / project (presentation: written and oral)

15 points

17.3.

Activities and learning

10 points

17.4.

Final exam

70 points

18.

Grading criteria (points / grade)

up to 50 points

5 (five) (F)

from 51 to 60 points

6 (six) (E)

from 61 to 70 points

7 (seven) (D)

from 71 to 80 points

8 (eight) (C)

from 81 to 90 points

9 (nine) (B)

from 91 to 100 points

10 (ten) (A)

19.

Condition for signature and taking final exam

реализирани активности 15.1 и 15.2

20.

Language of instruction

македонски и англиски

21.

Quality assurance method

механизам на интерна евалуација и анкети

22.

Literature

22.1.

Mandatory literature

No.

Author

Title

Publisher

Year

4325

Thomas H. Carmen et all

Introduction to algorithms

MIT Press

2009

4326

Jon Cleindberg, Eva Targos

Algorithm design

Pearson Education, Inc

2006

4327

Марија Михова, Бојан Илијоски

Дизајн на алгоритми од динамичко програмирање

УКИМ

2019

4328

codefu.mk

0

4329

www.topcoder.com

0

4330

http://mendo.mk/Welcome.do

0

22.2.

Additional literature

No.

Author

Title

Publisher

Year