Course details

Discrete Mathematics

IDM Acad. year 2022/2023 Winter semester 4 credits

Current academic year

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. Directed graphs.

Guarantor

Course coordinator

Language of instruction

Czech, English

Completion

Credit+Examination (written)

Time span

  • 26 hrs lectures
  • 26 hrs exercises

Assessment points

  • 80 pts final exam
  • 20 pts numeric exercises

Department

Lecturer

Instructor

Course Web Pages

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 propositions 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 it 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 knowledge and skills

Secondary school mathematics.

Syllabus of lectures

  1. The formal language of mathematics. Basic formalisms - statements, proofs, propositional and predicate logic.
  2. Intuitive set concepts. Basic set operations. Cardinality. Sets of numbers. The principle of inclusion and exclusion.
  3. Proof techniques.
  4. Binary relations, their properties and composition.
  5. Reflective, symmetric, and transitive closure. Equivalences and partitions.
  6. Partially ordered sets, lattices. Hasse diagrams. Mappings.
  7. Basic concepts of graph theory. Graph Isomorphism, trees, trails, tours, and Eulerian graphs.
  8. Finding the shortest path, Dijkstra's algorithm. Minimum spanning tree problem. Kruskal's and Jarnik's algorithms. Planar graphs.
  9. Directed graphs.
  10. Binary operations and their properties.
  11. Algebras with one operation, groups.
  12. Congruences and morphisms.
  13. Algebras with two operations, lattices as algebras. Boolean algebras.

Syllabus of numerical exercises

Examples at tutorials are chosen to complement suitably the lectures.

Progress assessment

Five written tests (max 20 points).

Controlled instruction

  • The knowledge of students is tested at exercises at five written tests for 4 points each and at the final exam for 80 points.
  • If a student can substantiate serious reasons for an absence from an exercise, (s)he can attend the exercise with a different group (please inform the teacher about that). 
  • Passing boundary for ECTS assessment: 50 points.

Exam prerequisites

Minimal total score of 8 points out of five written tests.

Course inclusion in study plans

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