Objectives and competences
• Know basic concepts from algorithmic problem solving.
• Know fundamental concepts of data structures and theri applications.
• Know basic algorithm design techniques.
Content (Syllabus outline)
Algorithm analysis: time in space complexity.
Elementary data structures: stack, queue and linked list.
Trees: binary tree, implementation and traversal. Heap and priority queue.
Binary search trees.
Algorithmic problem solving: examples of problems and methods of solving.
Algorithmic strategies: divide and conquer, greedy algorithms, dynamic programming, backtracking.
Learning and teaching methods
• Lectures
• Seminary work
• Computer and theoretical exercises
Intended learning outcomes - knowledge and understanding
• Ability to apply elementary and advanced data stuctures.
• To recognize the influence of data structure to algorithm complexity in practical applications.
• To understand principles of algorithm analysis.
• To understand the meaning of algorithm design.
Intended learning outcomes - transferable/key skills and other attributes
• Knowledge transfer of algorithmic thinking into other fields (discrete mathematics, biology, chemistry, …)
Readings
K. Mehlkor, P. Sanders, Algorithms and data structures : the basic toolbox, Springer, 2008.
J. Kozak, Podatkovne strukture in algoritmi, Ljubljana, DMFA,1997.
D. Harel, Y. Feldman, Algorithmics: the spirit of computing, AddisonWesley : Pearson Education, 2004.
M.A. Weiss, Data structures and algorithms analysis, The Benjamin/Cummings Publishing Company, 1995.
A. Shen, Algorithms and programming: problems and solutions, Springer, 2010.
Prerequisits
There are none.
Additional information on implementation and assessment Mid-term testing:
Homework
Seminary work
Exams:
Written exam – problems
Written exam – theory
Each of the mentioned assessments must be assessed with a passing grade.
Passing grades of all mid-term testings are required for taking the written exam – problems. Passing grade of written exam – problems is required to take the written exam – theory.