Algorithms and Datastructures

Faculty

Faculty of Engineering and Computer Science

Version

Version 1 of 23.01.2026.

Module identifier

11B0008

Module level

Bachelor

Language of instruction

German

ECTS credit points and grading

5.0

Module frequency

winter and summer term

Duration

1 semester

 

 

Brief description

For almost all subfields and all areas of application in computer science, a thorough knowledge of common algorithms and data structures and their interaction, as well as the ability to work with them, is of great importance.

Teaching and learning outcomes

1. Introduction & algorithm concept

2. Algorithm analysis: efficiency and complexity

3. Searching and sorting

4. Elementary data structures (including lists, sets, trees, hashing)

5. Methods of algorithm design  

6. Selected algorithms on graphs 

Overall workload

The total workload for the module is 150 hours (see also "ECTS credit points and grading").

Teaching and learning methods
Lecturer based learning
Workload hoursType of teachingMedia implementationConcretization
45LecturePresence or online-
15Learning in groups / Coaching of groupsPresence or online-
Lecturer independent learning
Workload hoursType of teachingMedia implementationConcretization
2Creation of examinations-
43Work in small groups-
45Preparation/follow-up for course work-
Graded examination
  • Written examination or
  • Multiple choise written examination or
  • Written examination and Multiple choise written examination
Ungraded exam
  • Field work / Experimental work or
  • Work practical
Exam duration and scope

Graded examination performance:

  • Written examination: see the applicable study regulations
  • Multiple-choice examination: see the applicable study regulations
  • Written examination and multiple-choice written examination: see the applicable study regulations

Unmarked examination:

  • Experimental work: Experiment: approx. 3 experiments in total
  • Work sample (practical): approx. 3 pieces of work 

Recommended prior knowledge

Students should have a solid grasp of the basic programming skills covered in the first semester, especially variables, control structures, functions, and simple data structures such as arrays. Equally important is a basic understanding of mathematical concepts such as sets, simple logic, sums, and growth rates, as these are needed for analysing algorithms. Initial experience with systematic problem solving and the structured development of small programmes is also helpful. A certain familiarity with development environments and a willingness to think abstractly and analytically will support a successful start to the module.

Knowledge Broadening

Students gain a comprehensive overview of the fundamentals of algorithms and data structures. This includes understanding the concept of algorithms itself, the importance of efficiency and complexity in algorithm analysis, and an overview of elementary data structures such as lists, sets, trees and hash tables. Students learn about important algorithms and data structures as well as techniques for analysing their complexity. They can distinguish between algorithms in terms of their quality and can select, explain and implement suitable algorithms and data structures for solving simple use cases in an application context.

Knowledge deepening

In this area, students focus on gaining a deep understanding of the properties, analysis and application of algorithms and data structures, as well as how they interact. They learn how search and sort algorithms work and explore algorithm design methods and selected algorithms on graphs.

Knowledge Understanding

Students reflect on and evaluate the epistemological validity of technical statements in the field of algorithms and data structures in a situation-specific manner. They are able to apply this knowledge in the context of real and complex problems, critically question it and weigh it up against each other. This in-depth understanding enables them to develop innovative solutions based on plausible technical considerations, thereby contributing to the resolution of practical and theoretical problems in computer science and related disciplines.

Application and Transfer

The practical application of acquired knowledge is the main focus. Students should be able to use algorithms and data structures to solve real-world problems. This includes the ability to select suitable data structures for specific applications and to design and implement algorithms accordingly.

Communication and Cooperation

Another goal is to develop communication and cooperation skills. Students learn to communicate their ideas and solutions effectively within the team. They work together to solve complex problems and learn from each other.

Academic Self-Conception / Professionalism

Students gain an awareness of the ethical and social implications of computer science. They reflect on the responsibility associated with the development and application of algorithms, particularly with regard to data protection, fairness and transparency.

Literature

  • T. H. Cormen, C. E. Leiserson, R. Rivest und C. Stein, Algorithmen - Eine Einführung,  München: Oldenbourg, jeweils aktuelle Auflage
  • R. Sedgewick und K. Wayne, Algorithmen, Pearson Studium, jeweils aktuelle Auflage
  • V. Turau und C. Weyer, Algorithmische Graphentheorie,  de Gruyter Studium, jeweils aktuelle Auflage

Applicability in study programs

  • Electrical Engineering in Practical Networks (dual)
    • Electrical Engineering in Practical Networks (dual) B.Sc. (01.03.2026)

  • Computer Science and Media Applications
    • Computer Science and Media Applications B.Sc. (01.09.2025)

  • Agricultural Technologies
    • Agricultural Technologies B.Sc. (01.09.2025)

  • Bachelor of Vocational Education - Information Technology
    • Bachelor of Vocational Education - Information Technology B.Sc. (01.09.2025)

  • Computer Science and Computer Engineering
    • Computer Science and Computer Engineering B.Sc. (01.09.2025)

  • Electrical Engineering
    • Electrical Engineering B.Sc. (01.09.2025)

    Person responsible for the module
    • Morisse, Karsten
    Teachers
    • Morisse, Karsten
    • Thiesing, Frank
    • Timmer, Gerald
    • Eikerling, Heinz-Josef