Elements of Discrete Mathematics
Code  Completion  Credits  Range  Language 

BIEZDM  Z,ZK  5  2P+2C  English 
 Vztahy:
 It is not possible to register for the course BIEZDM if the student is concurrently registered for or has already completed the course BIEDML.21 (mutually exclusive courses).
 It is not possible to register for the course BIEZDM if the student is concurrently registered for or has previously completed the course BIEDML.21 (mutually exclusive courses).
 Garant předmětu:
 Lecturer:
 Tutor:
 Supervisor:
 Department of Applied Mathematics
 Synopsis:

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

Fundamentals of calculus and algorithmics.
 Syllabus of lectures:

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. „Pigeonhole 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 nonhomogeneous recursive equations with constant coefficients.
 Syllabus of tutorials:

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.
 Study Objective:

The aim of the module is to learn students methods of combinatoric, asymptotic mathematic and mathematical induction as a basic tool for proofing correctness or deriving complexity of algorithms.
 Study materials:

1. Johnsonbaugh, R. ''Discrete Mathematics (4th Edition)''. Prentice Hall, 1998. ISBN 0130805505.
2. Rosen, K. H. ''Discrete Mathematics and its Applications''. McGrawHill, 1998. ISBN 0072899050.
3. Cormen, T. H., Leiserson, C. E., Rivest, R. L. ''Introduction to Algorithms''. The MIT Press, 2001. ISBN 0262032937.
 Note:
 Further information:
 https://courses.fit.cvut.cz/BIEZDM/
 No timetable has been prepared for this course
 The course is a part of the following study plans:

 Bachelor branch Security and Information Technology, in English, 20152020 (compulsory course in the program)
 Bachelor branch Web and Software Engineering, spec. Software Engineering, in English, 20152020 (compulsory course in the program)
 Bachelor branch Computer Science, in English, 20152020 (compulsory course in the program)
 Bachelor branch Computer Science, in English, 20152020 original version (compulsory course in the program)