(*)- Understanding of fundamental terms (algorithm, data structure, data type, abstract data type) [K2];
- Dealing with basic data structures (stack, queue, linked list, tree) [K2,K3, K4];
- Basic understanding of the different representations of sets [K2,K4] (bit-vector, linked list, hash-function, binary search tree, AVL tree) together with its peculiarities concerning space and time complexity [K4,K5];
- Dealing with polynomials in spare or dense representation using linked lists and hash tables [K4,K5];
- Exploring sorting algorithms (e.g, selection-sort, insertion-sort, merge-sort, and quick-sort) [K2,K4] with their space and time complexity [K5];
- Using the traversal of graphs to discover properties of graphs (cycles, shortest path, etc) [K2,K3]; understanding of more advanced algorithms, like finding shortest paths (Floyd, Dijkstra) [K2,K4];
- Using mathematical tools to explore the space and time complexity of algorithms [K4,K5].
|
(*)Basic notions, representation of sets and polynomials, sorting algorithms, graph algorithms.
|