Faculty of Information Technology, BUT

Course details

Discrete Mathematics

IDM Acad. year 2019/2020 Winter semester 5 credits

Sets, relations and mappings. Equivalences and partitions. Posets. Structures with one and two operations. Lattices and Boolean algebras. Propositional and predicate calculus. Elementary notions of graph theory. Connectedness. Subgraphs and morphisms of graphs. Planarity. Trees and their properties. Basic graph algorithms. Network flows.


Deputy Guarantor

Language of instruction



Credit+Examination (written)

Time span

26 hrs lectures, 26 hrs exercises

Assessment points

60 exam, 30 half-term test, 10 projects




Čejka Rudolf, Ing. (CC FIT BUT)
Fuchs Petr, RNDr., Ph.D. (DMAT FEEC BUT)
Havlena Vojtěch, Ing. (DITS FIT BUT)
Hliněná Dana, doc. RNDr., Ph.D. (DMAT FEEC BUT)
Holík Lukáš, Mgr., Ph.D. (DITS FIT BUT)
Lengál Ondřej, Ing., Ph.D. (DITS FIT BUT)
Svoboda Zdeněk, RNDr., CSc. (DMAT FEEC BUT)
Vážanová Gabriela, Mgr. (DMAT FEEC BUT)

Subject specific learning outcomes and competences

The students will acquire basic knowledge of discrete mathematics  and the ability to understand the logical structure of a mathematical text. They will be able to explain mathematical structures and to formulate their own mathematical claims and their proofs.

Learning objectives

This course provides basic knowledge of mathematics necessary for a number of following courses. The students will learn elementary knowledge of algebra and discrete mathematics, with an emphasis on mathematical structures that are needed for later applications in computer science.

Why is the course taught

Mathematics stood at the birth of computer science and since then has always been in the core of almost all of its progress.

Discrete mathematics aims at understanding the aspects of the real world that are the most fundamental from the point of view of computer science. It studies such concepts as a set (e.g. a collection of data, resources, agents), relations and graphs (e.g. relationships among data or description of a communication), and operations over elements of a set (especially basic arithmetical operations and their generalization).
The mathematical logic then gives means of expressing ideas and reasoning clearly and correctly and is, moreover, the foundation of "thinking of computers".

Generally speaking, discrete mathematics teaches the art of abstraction -- how to apprehend the important aspects of a problem and work with them. It provides a common language for talking about those aspects precisely and effectively. Besides communication of ideas, it helps to structure thought into exactly defined notions and relationships, which is necessary when designing systems so large and complex as today's software and hardware.

For example, discrete math gives the basic tools for expressing what a program does; what its data structures represent; how the amount of needed resources depends on the size of the input; how to specify and argue that a program does what it should do. Similarly essential uses can be found everywhere in computer science. One could say that a programmer without mathematics is similar to a piano player who cannot read notes: if he is talented, he can still succeed, but his options are limited, especially when it comes to solving complex problems. 

In order to teach mathematical thinking to students, we emphasize practising mathematics by using it to solve problems -- in the same way as programming can be only learnt through programming, mathematics also can be learnt only by doing it.

Prerequisite kwnowledge and skills

Secondary school mathematics.

Study literature

  • Matoušek J., Nešetřil J., Kapitoly z diskrétní matematiky, Karolinum, Praha 2007. (in Czech).
  • Matoušek J., Nešetřil J., Invitation to Discrete Mathematics, Oxford University Press, Oxford 2008.
  • Hliněný, P., Úvod do informatiky. Elportál, Brno, 2010. (in Czech).
  • Kovár, M., Diskrétní matematika, FEKT VUT, Brno, 2013. (in Czech).

Fundamental literature

  • Anderson I., A First Course in Discrete Mathematics, Springer-Verlag, London 2001.
  • Grimaldi R. P., Discrete and Combinatorial Mathematics, Pearson Addison Valley, Boston 2004.
  • Grossman P., Discrete mathematics for computing, Palgrave Macmillan, New York 2002.
  • Kolibiar, M. a kol., Algebra a príbuzné disciplíny, Alfa, Bratislava, 1992. (in Slovak).
  • Kolman B., Busby R. C., Ross S. C., Discrete Mathematical Structures, Pearson Education, Hong-Kong 2001.
  • Klazar M., Kratochvíl J, Loebl M., Matoušek J. Thomas R., Valtr P., Topics in Discrete Mathematics, Springer-Verlag, Berlin 2006.
  • Matoušek J., Nešetřil J., Kapitoly z diskrétní matematiky, Karolinum, Praha 2007. (in Czech).
  • Matoušek J., Nešetřil J., Invitation to Discrete Mathematics, Oxford University Press, Oxford 2008.
  • O'Donnell, J., Hall C., Page R., Discrete Mathematics Using a Computer, Springer-Verlag, London 2006.
  • Sochor, A., Klasická matematická logika, Karolinum, Praha 2001. (in Czech).

Syllabus of lectures

  1. The formal language of mathematics. A set intuitively. Basic set operations. Power set. Cardinality. Sets of numbers.  The principle of inclusion and exclusion.
  2. Binary relations and mappings. The composition of binary relations and mappings.
  3. Reflective, symmetric, and transitive closure. Equivalences and partitions.
  4. Partially ordered sets and lattices. Hasse diagrams. Mappings.
  5. Binary operations and their properties.
  6. General algebras and algebras with one operation. Groups as algebras with one operation. Congruences and morphisms.
  7. General algebras and algebras with two operations. Lattices as algebras with two operations. Boolean algebras.
  8.  Propositional logic. Syntax and Semantics. Satisfiability and validity. Logical equivalence and logical consequence. Ekvivalent formulae. Normal forms.
  9. Predicate logic. The language of first-order predicate logic. Syntax, terms, and formulae, free and bound variables. Interpretation.
  10. Predicate logic. Semantics, truth definition. Logical validity, logical consequence. Theories. Equivalent formulae. Normal forms.
  11. A formal system of logic. Hilbert-style axiomatic system for propositional and predicate logic. Provability, decidability, completeness, incompleteness.
  12. Basic concepts of graph theory.  Graph Isomorphism. Trees and their properties. Trails, tours, and Eulerian graphs.
  13. Finding the shortest path. Dijkstra's algorithm. Minimum spanning tree problem. Kruskal's and Jarnik's algorithms. Planar graphs.

Syllabus of numerical exercises

Examples at tutorials are chosen to suitably complement the lectures.

Progress assessment

  • Evaluation of the two home assignments solved in the groups (max 10 points).
  • Evaluation of the two mid-term exams (max 30 points).

Controlled instruction

  • The knowledge of students is tested at exercises; including two homework assignments worth for 5 points each, at two midterm exams for 15 points each, and at the final exam for 60 points.
  • If a student can substantiate serious reasons for an absence from an exercise, (s)he can either attend the exercise with a different group (please inform the teacher about that). 
  • Passing boundary for ECTS assessment: 50 points.

Exam prerequisites

The minimal total score of 10 points gained out of  the mid-term exams. Plagiarism and not allowed cooperation will cause that involved students are not classified and disciplinary action may be initiated.


Moncomp.lablectures D0207 08:0009:50 1BIB 2BIA 2BIB xx Hliněná
Monexam2020-01-06 D0206 D0207 D105 E112 T10/1.36 T12/2.173 T8/010 T8/020 T8/030 11:0013:50 1BIA 1BIB 2BIA 2BIB řádná
Monexam2020-01-27 T10/1.36 T8/020 T8/030 11:0013:50 1BIA 1BIB 2BIA 2BIB 2. oprava
Moncomp.lablectures D0207 14:0015:50 1BIB 2BIA 2BIB xx Holík
Moncomp.lablectures D0207 16:0017:50 1BIB 2BIA 2BIB xx Holík
Moncomp.lablectures A113 18:0019:50 1BIA 2BIA 2BIB xx Holík
Tuelecturelectures D0206 D105 08:0009:50 1BIB 2BIA 2BIB xx Hliněná
Tuecomp.lablectures A113 08:0009:50 1BIA 2BIA 2BIB xx Havlena
Tuecomp.lablectures T8/322 11:0012:50 1BIB 2BIA 2BIB xx Fuchs
Tuelecturelectures D0206 D105 13:0014:50 1BIA 2BIA 2BIB xx Hliněná
Tuecomp.lablectures D0207 16:0017:50 1BIA 2BIA 2BIB xx Lengál
Tueexam2019-10-15 D105 E112 18:0020:50 1BIA 1BIB 2BIA 2BIB 1. písemka
Tueother2019-11-26 D105 19:0020:50 1BIA 1BIB 2BIA 2BIB democvičení
Wedcomp.lablectures T8/503 07:0008:50 1BIA 2BIA 2BIB xx Vážanová
Wedcomp.lablectures A113 12:0013:50 1BIB 2BIA 2BIB xx Lengál
Wedcomp.lablectures T8/322 13:0014:50 1BIB 2BIA 2BIB xx Fuchs
Wedcomp.lablectures A113 16:0017:50 1BIA 2BIA 2BIB xx Hliněná
Thucomp.lablectures T8/522 13:0014:50 1BIA 2BIA 2BIB xx Fuchs
Thucomp.lablectures A113 18:0019:50 1BIA 2BIA 2BIB xx Lengál
Fricomp.lablectures T8/522 07:0008:50 1BIA 2BIA 2BIB xx Vážanová
Friexam2020-01-17 D0206 D0207 D105 T10/1.36 T8/010 T8/020 T8/030 11:0013:50 1BIA 1BIB 2BIA 2BIB 1. oprava
Fricomp.lablectures D0207 14:0015:50 1BIB 2BIA 2BIB xx Havlena
Friexam2019-11-29 D0206 D105 E104 E105 E112 17:0020:50 1BIA 1BIB 2BIA 2BIB 2. písemka
Friexam2019-12-20 D105 17:0018:50 1BIA 1BIB 2BIA 2BIB předtermín

Course inclusion in study plans

  • Programme BIT, 1st year of study, Compulsory
  • Programme IT-BC-3, field BIT, 1st year of study, Compulsory
Back to top