CG2.Students are able to formulate in mathematical language problems that arise in science, engineering, economy and other social sciences.
CE1.Students have shown that they know and understand the mathematical language and abstract-rigorous reasoning as well as to apply them to state and prove precise results in several areas in mathematics.
CE3.Students have shown that they understand the fundamental results from discrete mathematics.
Upon completion of the course, students should be able to
- Reformulate into mathematical language specific real-world problems, and solve them using permutations, combinations and the basic rules for counting;
- Identify recursively defined sets and functions, and check whether they are defined correctly;
- Solve linear recurrence equations of low order;
- Understand the `big-Oh' asymptotic notation, and be able to use it to analyse asymptotic performance for some basic algorithmic examples;
- Estimate the time complexity of divide-and-conquer computational algorithms;
- Identify binary relations, and assess their properties by representing them in mathematical terms via graphs or matrices;
- Given a binary relation, recognize if it is an equivalence relation, an order relation, or neither;
- Given a simple partial ordering, identify its extremal elements by constructing its Hasse diagram;
- Propose simplified mathematical models for real-world situations in terms of graphs;
- Given two simple directed or undirected graphs, decide whether they are isomorphic;
- Determine the existence of Euler or Hamilton paths on simple undirected graphs;
- Find shortest paths using Dijkstra's algorithm, or minimal spanning trees using Kruskal's.