Course details
Advanced Mathematics
IAM Acad. year 2020/2021 Summer semester 5 credits
The course is a follow-up to compulsory mathematical courses at FIT. Students learn how to use mathematics methods on several subjects closely related to computer science. These are mainly number theory and its application in cryptography, basic set theory and logic, logical systems and decision procedures with applications in e.g. databases or software engineering, probability, statistics, and their applications in the analysis of probabilistic systems and artificial intelligence.
Guarantor
Course coordinator
Language of instruction
Completion
Time span
- 26 hrs lectures
- 18 hrs exercises
- 8 hrs pc labs
Assessment points
- 50 pts mid-term test (written part)
- 50 pts numeric exercises
Department
Lecturer
Hliněná Dana, doc. RNDr., Ph.D. (UMAT)
Holík Lukáš, doc. Mgr., Ph.D. (DITS)
Lengál Ondřej, Ing., Ph.D. (DITS)
Instructor
Češka Milan, doc. RNDr., Ph.D. (DITS)
Hliněná Dana, doc. RNDr., Ph.D. (UMAT)
Holík Lukáš, doc. Mgr., Ph.D. (DITS)
Lengál Ondřej, Ing., Ph.D. (DITS)
Subject specific learning outcomes and competences
The ability to exactly and formally specify and solve problems, formally prove claims; also better understanding of the basic mathematical concepts, an overview of several areas of mathematics important in computer science.
Improving the abilities of exact thinking, expressing ideas, and using a mathematical apparatus.
Learning objectives
- Practice mathematical writing and thinking, formulation of problems and solving them,
- obtain deeper insight into several areas of mathematics with applications in computer science,
- learn on examples that complicated mathematics can lead to useful algorithms and tools.
Why is the course taught
The main goal is not to cover a given area of mathematics but to infect a student with an enthusiasm for the subject. The student will be given an opportunity to walk the way from abstract theory to its actual use in the real world, which might possibly convince him/her that thinking and expressing ideas with a help of formal mathematics makes sense. These skills will be exercised by solving problem assignments that should be interesting and sometimes demanding. Obtaining a better overview of several areas of mathematics important in informatics is an added benefit.
Recommended prerequisites
- Discrete Mathematics (IDM)
- Formal Languages and Compilers (IFJ)
- Calculus 1 (IMA1)
- Calculus 2 (IMA2)
- Probability and Statistics (IPT)
Prerequisite knowledge and skills
Basic knowledge of sets, relations, propositional and predicate logic, algebra, and finite automata.
Study literature
- R. Smullyan. First-Order Logic. Dover, 1995.
- B. Balcar, P. Štěpánek. Teorie množin. Academia, 2005.
- C. M. Grinstead, J. L. Snell. Introduction to probability. American Mathematical Soc., 2012.
- G. Chartrand, A. D. Polimeni, P. Zhang. Mathematical Proofs: A Transition to Advanced Mathematics, 2013
- Steven Roman. Lattices and Ordered Sets, Springer-Verlag New York, 2008.
- A. Doxiadis, C. Papadimitriou. Logicomix: An Epic Search for Truth. Bloomsbury, 2009.
Fundamental literature
- A.R. Bradley, Z. Manna. The Calculus of Computation. Springer, 2007.
- D. P. Bertsekas, J. N. Tsitsiklis. Introduction to Probability, Athena Scientific, 2008.
- M. Huth, M. Ryan. Logic in Computer Science. Modelling and Reasoning about Systems. Cambridge University Press, 2004.
Syllabus of lectures
- Axioms of set theory, the axiom of choice. Countable and uncountable sets, cardinal numbers. (Dana Hliněná)
- Application of number theory in cryptography. (Dana Hliněná)
- Number theory: prime numbers, Fermat's little theorem, Euler's function. (Dana Hliněná)
- Propositional logic. Syntax and semantics. Proof techniques for propositional logic: syntax tables, natural deduction, resolution. (Ondřej Lengál)
- Predicate logic. Syntax and semantics. Proof techniques for predicate logic: semantic tables, natural deduction. (Ondřej Lengál)
- Predicate logic. Craig interpolation. Important theories. Undecidability. Higher order logic. (Ondřej Lengál)
- Hoare logic. Precondition, postcondition. Invariant. Deductive verification of programs. (Ondřej Lengál)
- Decision procedures in logic: Classical decision procedures for arithmetics over integers and over rationals. (Lukáš Holík)
- Automata-based decision procedures for arithmetics and for WS1S (Lukáš Holík)
- Decision procedures for combined theories. (Lukáš Holík)
- Stochastic processes: Modelling of probabilistic systems using discrete-time Markov chains. (Milan Češka)
- Analysis (model-checking) of Markov chains. Demonstration of PRISM model-checker. (Milan Češka)
- Extension of Markov chains: continuous-time, Markov Decision Processes, Hidden Markov Chains. (Milan Češka)
Syllabus of numerical exercises
- Proofs in set theory, Cantor's diagonalization, matching, Hilbert's hotel.
- Prime numbers and cryptography, RSA, DSA, cyphers.
- Proofs in number theory, Chinese remainder theorem.
- Proofs in propositional logic.
- Proofs in predicate logic.
- Decision procedures.
- Computer labs 1.
- Computer labs 2.
- Automata decision procedures and combination theories.
- Computer labs 3.
- Modelling of probabilistic systems.
- Analysis (model-checking) of Markov chains.
- Computer labs 4.
Syllabus of computer exercises
- Proving programs corrects in VCC.
- SAT and SMT solvers.
- Tools MONA and Vampire.
- Analysis of probabilistic systems using PRISM tool.
Progress assessment
Two tests, midterm and final (25 points per test), activity during exercises (5 points per exercise).
Exam prerequisites:
Obtaining at least 50 points from the 100 possible (50 tests, 50 exercises).
Exam prerequisites
Obtaining at least 50 points from the 100 possible (50 tests, 50 exercises).
Course inclusion in study plans