Course detail

Data Structures and Algorithms

FEKT-MPA-TINAcad. year: 2022/2023

1. Information representation – object oriented design
2. Information representation – introduction to data structures, abstract data types
3. Computability and complexity, deterministic and non-deterministic automata
4. Representation of information - linear data structures
5. Representation of information - tree data structures
6. Representation of information - graphs
7. Access Information– spanning tree
8. Access Information - finding a path in graphs
9. Access Information - mining knowledge from data
10. Information Disclosure - Optimization
11. Information Disclosure - Status Space Search, Genetic Algorithms
12. Processes, threads, and parallel calculations
13. Parallel, sequential and random algorithms. Distributed algorithms

Learning outcomes of the course unit

Students have skills of design and implementation of various forms of abstract data types and its application to solve specific problems. To solve them the stduents can use linear, tree and graph data structures, furthemore they can search in the data structures and used genetic algorithms for search in a search space and optimization.


The subject knowledge on the Bachelor degree level is required.


Not applicable.

Recommended optional programme components

Not applicable.


GOODRICH, T.M., TAMASSIA, R. Data Structures and Algorithms in Java. 2000. (EN)

Planned learning activities and teaching methods

Techning methods include lectures, computer laboratories and practical laboratories. Course is taking advantage of e-learning (Moodle) system. Students have to write a single project/assignment during the course.

Assesment methods and criteria linked to learning outcomes

final examination

Language of instruction


Work placements

Not applicable.

Course curriculum

1. Information representation, objective oriented design.
2. Information representation, introduction to data structures.
3. Complexity, computability and automata theory.
4. Information representation, linear data structures and sorting.
5. Information representation - tree data structures.
6. Information representation - graph theory.
7. Information acccess - spanning tree.
8. Information acccess - graph search.
9. Information acccess - data mining.
10. Information acccess - decision trees.
11. Information acccess - genetic algorithms.
12. Information acccess - genetic programming.
13. Multithreaded computations, parallelization.

Computer excercises:
1. Introduction to OON.
2. Information representation I.
3. Information representation II.
4. Linear data structures.
5. Binary search trees.
6. Graphs theory.
7. Search in Graphs.
8. Midexam.
9. Search in Graphs - Dijkstra algorithm.
10. Data mining - decision trees.
11. Optimization - genetic algorithms.


To provide theoretical knowledge of information gathering, processing and sharing in communication systems, and of their structure, behaviour and mutual interaction.

Specification of controlled education, way of implementation and compensation for absences

The content and forms of instruction in the evaluated course are specified by a regulation issued by the lecturer responsible for the course and updated for every academic year.

Classification of course in study plans

  • Programme MPA-CAN Master's, 1. year of study, winter semester, 5 credits, compulsory
  • Programme MPAD-CAN Master's, 1. year of study, winter semester, 5 credits, compulsory
  • Programme MPA-TEC Master's, 1. year of study, winter semester, 5 credits, compulsory-optional
  • Programme MPAJ-TEC Master's, 1. year of study, winter semester, 5 credits, compulsory-optional

Type of course unit



26 hours, optionally

Teacher / Lecturer

Exercise in computer lab

26 hours, compulsory

Teacher / Lecturer