Course detail

Data Structures and Algorithms

FEKT-MPA-TINAcad. year: 2021/2022

Information representation, computability and complexity, deterministic and non-deterministic automata, linear data structures, tree data structures, graphs, knowledge mining, optimization, processes, threads and parallel computations, distributed algorithms 

Language of instruction

English

Number of ECTS credits

5

Mode of study

Not applicable.

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.

Prerequisites

The subject knowledge on the Bachelor degree level is required.

Co-requisites

Not applicable.

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

Course curriculum

Lectures:
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.

Work placements

Not applicable.

Aims

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.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

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

Recommended reading

Not applicable.

Elearning

Classification of course in study plans

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

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

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.

Exercise in computer lab

26 hod., compulsory

Teacher / Lecturer

Syllabus

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.

Elearning