This course is a continuation of Algorithms and Data Structures undergraduate course and it is aimed to students wishing to widen and deepen the understanding of most important algorithms and data structures. Algorithms needed in various applications are presented, with the emphasis on understanding of their underlying logic and theoretical foundation. Specific program solutions are analyzed during laboratory exercises. By adopting the subject, the students will notably widen their competences and abilities to solve more complex problems that require correct selection and an efficient implementation of different algorithms.
Learning Outcomes
- Recognize and analyze the problem to be solved by computer
- Relate the specified problem to the one of the same kind or a similar known and already solved problem
- Select the best algorithm for a known problem
- Design one’s own algorithm for an unknown problem
- Assess the validity of one’s own solution, in the sense of algorithm convergence and complexity
- Compare and contrast own solution to possible alternatives
- Recommend the algorithm for an unknown problem on the basis of analysis of alternatives
Type of methodology: Combination of lecture and hands-on
Paid training activity for participants: Yes, for some only
Participants prerequisite knowledge: No prerequisite knowledge
Language: English and Croatian