Subject
Design of Algorithms
| 1. | Course Title |
Design of Algorithms Algorithm design |
||||||||||||
| 2. | Code | F23L2S097 | ||||||||||||
| 3. | Study Programme | — | ||||||||||||
| 4. | Organizer of the study programme (unit, institute, department or division) | Faculty of Computer Science and Engineering | ||||||||||||
| 5. | Degree level (first, second, third cycle) | First Cycle | ||||||||||||
| 6. | Academic year / semester | 4 / Summer | ||||||||||||
| 7. | Number of ECTS credits | 6 | ||||||||||||
| 8. | Teacher | Maria Mihova | ||||||||||||
| 9. | Prerequisites for enrolling in the course | Discrete Mathematics or Discrete Structures 2 or Mathematics 2 or Selected Topics in Mathematics | ||||||||||||
| 10. | Objectives of the course programme (competences) | In this course, students will learn various algorithms and methods for solving problems with a computer, as well as certain data structures for their implementation. The student will gain programming experience, understand the principles of algorithm design and performance analysis, and learn the fundamental ideas for designing an efficient algorithm and combining it with an appropriate data structure. These ideas will be applied in practice through laboratory exercises. | ||||||||||||
| 11. | Course content | What is an algorithm. Techniques for designing algorithms and techniques for calculating complexity. Multidimensional dynamic and greedy programming. Memoization in DP. Graph search (classification of edges and vertices, visit time, and their associated properties). Algorithms for shortest paths from any to any vertex and their applications. Algorithms that use traversal techniques. Union-find, Fibonacci heap, and other advanced structures and primitives. Network flow and min-cut/max-flow. Search trees (segment, interval index). String pattern matching algorithms. Geometric algorithms. | ||||||||||||
| 12. | Learning methods | Lectures supported by slide presentations, interactive lectures, exercises (using equipment and software packages), teamwork, case studies, guest lecturers, independent completion of homework assignments, and learning in an electronic environment (forums, consultations). | ||||||||||||
| 13. | Total available time | 6 ECTS x 30 hours = 180 hours | ||||||||||||
| 14. | Distribution of available time | 30 + 45 + 15 + 15 + 75 = 180 hours | ||||||||||||
| 15. | Forms of teaching activities |
|
||||||||||||
| 16. | Other forms of activities |
|
||||||||||||
| 17. | Assessment method |
|
||||||||||||
| 18. | Grading criteria (points / grade) |
|
||||||||||||
| 19. | Requirement for obtaining a signature and taking the final exam | completed activities 15.1 and 15.2 | ||||||||||||
| 20. | Language of instruction | Macedonian and English | ||||||||||||
| 21. | Method for monitoring the quality of teaching | internal evaluation and survey mechanism | ||||||||||||
| 22. | Literature |
|