Algorithms and data structures
Kontakt
Sekretariat
Contact
Secretary
Algorithms and data structures
(former name: Algorithms and Data Structures 2 )
6 CP each, 3V +1 Ü
The two modules "inf001 Algorithms and Programming" and "inf002 Algorithms and Data Structures" provide an overview of the central fundamentals of practical Computing Science and supplement the modules "Programming Course" and "Software Engineering" with a more conceptual and efficiency-oriented view of software. these modules therefore form an essential basis for later practical work in software development.
Objectives of the module Algorithms and Data Structures:
The students should
□ familiarise themselves with general concepts for designing algorithms (e.g. Gready method, divide-and-conquer method)
□ understand algorithms and data structures for solving frequently occurring problems and be able to evaluate their applicability,
□ Understand and be able to evaluate the efficiency of algorithmic solutions to specific problems,
□ be able to make a well-founded selection of an algorithm and a data structure for solving a concrete problem,
□ be able to apply the algorithms and data structures learnt in a meaningful way to given concrete problems
□ be able to transfer practical experience in programme development to new tasks
□ learn to develop solutions to small tasks in teams of 2-3 students and to present the results in a group.
Module content Algorithms and data structures:
Algorithms are a core concept of Computing Science that can be found in all areas of application. They represent processes for solving problems and are inextricably linked to data structures for representing the processed data. Essential to the design of algorithms and data structures is the question of their efficiency, i.e. the computational effort in relation to the amount of data to be processed.
The module presents known, efficient algorithms and data structures for various frequently occurring problems. More specifically, these include, for example
- Methods for searching for keys as well as insertion and deletion in dynamic data sets, e.g. AVL trees, B-trees, hash methods,
- Methods for searching for text patterns,
- Methods for sorting data according to key values, e.g. quick sort and heap sort,
- Graph-based applications, e.g. for determining the shortest paths in graphs,
- simple numerical methods, e.g. for solving linear systems of equations,
- an example of a discrete optimisation method, e.g. the simplex method.