Course detail

Theoretical Informatics

FEKT-LTINAcad. year: 2012/2013

Theoretical models, directed and undirected graphs, graph representation methods. Data structures and objects. Parallel, sequential and stochastic algorithms. Mass operation systems. Distributed algorithms. Stochastic processes. Optimatization, genetic algorithms. Visualization of and searching for information. Data securing theory - cryptography, steganography. Deterministic and nondeterministic automata. Information compression theory.

Language of instruction

Czech

Number of ECTS credits

6

Mode of study

Not applicable.

Learning outcomes of the course unit

Alumni have skills of:
- design and implementation of various forms of abstract data types
- apply the abstract data types to solve specific problems:
- linear structure,
- decision trees,
- the search path in the graph (solving of 8-puzzle),
- genetic algorithms - graphical design optimization

Prerequisites

The subject knowledge on the Bachelor´s degree level is requested.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.

Assesment methods and criteria linked to learning outcomes

Final examination is 70 % of overall asessment, midterm exam is 15 % and the rest 15 % is for activity during excercises. The knowledge is also evaluated by skill test.

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
14. Final exam

Work placements

Not applicable.

Aims

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

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

Not applicable.

Recommended reading

Battista, G., Tollis, I.: Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, 1998. (EN)
Goodrich, T.M., Tamassia, R.: Data Structures and Algorithms in Java. John Wiley & Sons, 2000. (EN)
James Edward Keogh, Ken Davidson, Datové struktury bez předchozích znalostí, Computer Press, 2006 - Počet stran: 223 (CS)

Classification of course in study plans

  • Programme EEKR-ML Master's

    branch ML-TIT , 1 year of study, winter semester, compulsory

  • Programme EEKR-ML Master's

    branch ML-TIT , 1 year of study, winter semester, compulsory

  • Programme EEKR-CZV lifelong learning

    branch EE-FLE , 1 year of study, winter semester, compulsory

Type of course unit

 

Lecture

39 hod., optionally

Teacher / Lecturer

Syllabus

Introduction to theoretical informatics.
Fundamentals of graph theory.
Deterministic and nondeterministic algorithms.
Data structures and objects.
Algorithm theory.
Fundamentals of queue theory.
Distributed algorithm theory and calculations.
Stochastic processes.
Optimatization and genetic algorithms.
Visualization of information.
Searching for information.
Data securing theory.
Information compression theory.

Exercise in computer lab

26 hod., compulsory

Teacher / Lecturer

Syllabus

Introduction to JAVA programming.
Objects and classes.
Interface and packages.
Data structures and operators.
Generation of classes and applications.
Generation and treatment of exceptions.
Generation of applet.
Graphics and animation.
Interactivity and event processing.
Threads and multithreading.
Network programming.
JAVA programming tools.
Review exercise and credit pass.