de | en

Algorithms and Data Structures

Module BV440007

This Module is offered by Chair of Computation in Engineering (Prof. Rank).

This module handbook serves to describe contents, learning outcome, methods and examination type as well as linking to current dates for courses and module examination in the respective sections.

Module version of WS 2011/2 (current)

There are historic module descriptions of this module. A module description is valid until replaced by a newer one.

available module versions
WS 2011/2SS 2011

Basic Information

BV440007 is a semester module in English language at Master’s level which is offered in summer semester.

This Module is included in the following catalogues within the study programs in physics.

  • Catalogue of non-physics elective courses
Total workloadContact hoursCredits (ECTS)
90 h 30 h 3 CP

Content, Learning Outcome and Preconditions


• Foundations of programming concepts
• Recursive algorithms
• Introduction into the complexity analysis of algorithms
• Data structures (arrays, trees, linked lists)
• Sorting algorithms (sequential approaches, divide-and-conquer approach)
• Search algorithms (sequential and recursive approaches, balancing, hashing)
• Foundations of graph theory and graph applications (minimal-spanning trees, shortest-path-search, maximum network flow)
• Code optimisation and cache-blocking algorithms

Learning Outcome

After successful participation students are able to
• develop algorithms and, thus, to formulate rules using programming concepts in order to solve problems with the help of computers,
• understand recursive approaches and to apply them on own problems,
• analyse and classify algorithms concerning runtime and memory usage via a complexity evaluation,
• know different data structures and according to their strong and weak aspects to chose appropriate structures for specific problem classes,
• known, understand, and apply different sorting and searching algorithms together with their respective runtime and memory complexity,
• understand the foundations of graph theory and to apply graph-based algorithms for questions regarding minimal-spanning trees, shortest-path-search, and maximum network flow,
• know and understand methods for code optimisation (such as cache-blocking) and to apply them on own problems.


Knowledge of any programming language (for instance C/C++ or Fortran)

Courses, Learning and Teaching Methods and Literature

Courses and Schedule

VO 2 Algorithms and Data Structures Fri, 09:45–11:15, 2601

Learning and Teaching Methods

The module is provided as lecture and its contents will be communicated with descriptive and practical examples as well as discussions with students. The lecture should further motivate students to own researches and lecture studies concerning the topics. Exercise sheets (and solutions) that reflect the respective lecture contents will be provided, thus students can use those for their own control when studying and applying the learned methodologies and concepts.


Main lecture media are PowerPoint slides complemented by the usage of black and white boards. PowerPoint slides are online available for download.


- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein: Introduction to Algorithms, 2nd ed., The MIT Press, 2001
- R. Sedgewick: Algorithms, 2nd ed., Addison-Wesley, 1988
- V. Heun: Grundlegende Algorithmen, Vieweg, 2003

Module Exam

Description of exams and course work

Learning success will be verified via a 90 minute written examination, in order to show students’ familiarity with the discussed topics as well as their ability to apply learned methods and concepts to develop and analyse algorithms for specific problems from the field of recursive approaches, sorting and searching as well as graphs. Therefore, short problems have to be solved and code fragments have to be implemented on paper. Additional resources that are allowed throughout the examination are printed lecture slides and hand-written notes.
Top of page