Switch to English
Cursus: 202001364
Discrete Mathematics and Algebra
Cursus informatie
Studiepunten (ECTS)6
CursustypeCursuscode los moduleonderdeel
Contactpersoonprof.dr. M.J. Uetz
VorigeVolgende 4
dr. A. Antoniadis
Docent P. van 't Hof
Examinator R. Langerak
dr. G. Loho
dr. L. Pehlivan
OpmerkingEnrollment only for Double Bachelor BSc AM - TN students
AanmeldingsprocedureZelf aanmelden via OSIRIS Student
Inschrijven via OSIRISJa

At the end of the course the student is able to:

  • use and explain elementary data structures like lists, heaps, binary trees, and priority queues
  • use and explain elementary algorithms like sorting, traversing and updating data structures, and basic optimization problems
  • analyse the time complexity of algorithms and operations on data structures, e.g. using the Master Theorem or recursions, and use dynamic programming
  • use and understand the Euclidean algorithm, the “grand daddy of all algorithms” (Knuth), in particular its computational efficiency, and its relevance in applications such as, e.g., RSA public key encryption
  • use, explain and design algorithms on graphs and networks, such as computation of shortest paths, spanning trees, maximum flows, stable matching and clustering problems
  • solve second-order linear recurrence relations using characteristic polynomials or generating functions
  • apply the (extended) Euclidean algorithm to integers and polynomials
  • recognise and apply properties of groups
  • know and recognise several constructions of groups
  • know and work with group homomorphisms and understand their role in the more general context of mathematics
  • work with rings and fields
  • investigate and understand when two algebraic structures are isomorphic
  • understand and describe several applications of Algebra like encryption based on RSA, the word problem, symmetries and isomorphisms, TDA, HTT
The first two weeks of the study unit “Algorithmic Discrete Mathematics” are devoted to the understanding of elementary data structures, and their use in the design and theoretical analysis of classic discrete algorithms. This includes basic principles and techniques to analyse the time and space complexity of algorithms, worst-case and average-case. The data structures include heaps, binary trees, as well as priority queues. Algorithms that are dealt with are for sorting, computational problems with permutations, the Euclidean algorithm to compute the greatest common divisor, the computation of shortest paths, minimum spanning trees. General algorithmic techniques that are introduced are divide and conquer, as well as dynamic programming. Some of these algorithms are implemented using the Python programming language, as part of the graph isomorphism implementation project.

The third and fourth weeks are devoted to structural, algorithmic, and combinatorial problems that lie in the core of discrete and combinatorial mathematics: Students understand core algorithmic techniques in discrete optimization, next to shortest paths and spanning trees also algorithms for network flows, stable matchings and clustering, the algorithmic power of duality on the example of maximum flows and minimum cuts, and learn how to solve combinatorial counting problems by means of (second-order, linear) recurrence relations using the characteristic polynomial.

The "Algebra" part of the course provides an introduction to abstract algebra and some of its applications. Three families of algebraic structures are introduced and studied: groups, rings and fields. Roughly speaking groups are generalisations of the set of integers equipped with addition. Rings are generalisations of the set of integers equipped with both addition and multiplication. Fields are generalisations of the set of rational numbers equipped with addition, multiplication and division by nonzero numbers. The generalisations go as far as finite structures and structures in which the operation(s) are non-commutative.

The backbones of the course are constructions for groups and the understanding of structure-preserving maps. As to applications of algebraic structures, the course addresses encryption based on RSA, the word problem, symmetries and isomorphisms in adjacent mathematical domains, topological data analysis, and homotopy type theory. The learning and understanding of abstract algebraic structures will be supported by mandatory Grasple exercises.

Topics covered in this course are:
  • Constructions of groups: Integers and integers modulo n, matrix groups, symmetry groups and groups of functions
  • Group Theory: group operations, cosets & Lagrange Theorem, group homomorphism, crucial structures in groups
  • Rings and Fields
  • Applications of Algebra including encryption, data analysis and the recognition of structure-preserving transformations
Linear maps between vector spaces; calculations with matrices; properties of real and complex numbers; working with functions and relations
Participating study
Bachelor Applied Mathematics
Participating study
Bachelor Technische Natuurkunde
Verplicht materiaal
Lecture Notes, to be provided online
Discrete and Combinatorial Mathematics: An Applied Introduction, Ralph P. Grimaldi, Pearson, 2003 (5th ed.). ISBN: 978-0201726343
Aanbevolen materiaal
Overig onderwijs


Switch to English