# BIE-ZDM – Elements of Discrete Mathematics

### Annotation

Students get both a mathematical sound background, but also practical calculation skills in the area of combinatorics, value estimation and formula approximation, and tools for solving recurrent equations.

### Lectures Program

1. Sets, cardinality, countable sets, power set of a finite set and its cardinality.
2. Power set of the set of natural numbers - uncountable set.
3. Exclusion and inclusion, its use to determine cardinality.
4. "Pigeon-hole principle", number of structures, i.e., number of maps, relations, trees (on finite structures).
5. Function estimates (factorial, binomial coefficients, ...).
6. Relation, equivalence relation (examples of equivalence of connected/strongly connected components).
7. Relation matrix, relational databases.
8. Mathematical induction as a tool for determining the number of finite objects.
9. Mathematical induction as a tool for proving algorithm correctness.
10. Mathematical induction as a tool for solving recursive problems.
11. Structural induction.
12. Runtime complexity of recursive algorithms - solving recursive equations with constant coefficients, homogeneous equations.
13. Solving non-homogeneous recursive equations with constant coefficients.

### Labs Program

1. Cardinality calculations.
2. Countability, uncountability.
3. Inclusion and exclusion principle.
4. Numbers of structures over finite sets.
5. Asymptotic function behavior.
6. Relations and directed graphs.
7. Basic proofs by induction.
8. Application of proofs by induction in combinatorics.
9. Application of proofs by induction in programming.
10. Induction and recursive algorithms.
11. Uses of induction in formal language theory.
12. Runtime complexity calculations.
13. Solving linear recurrent equations.