Main content

This entry is from Winter semester 2021/22 and might be obsolete. You can find a current equivalent here.

CS 628 — Algorithm Engineering
(dt. Algorithm Engineering)

Level, degree of commitment Specialization module, compulsory elective module
Forms of teaching and learning,
Lecture (2 SWS), recitation class (4 SWS),
270 hours (90 h attendance, 180 h private study)
Credit points,
formal requirements
9 CP
Course requirement(s): Presentation of 4 milestones in software development.
Examination type: Software development
The grading is done with 0 to 15 points according to the examination regulations for the degree program M.Sc. Computer Science.
One semester,
Regelmäßig alle 2 Semester
Person in charge of the module's outline Prof. Dr. Christian Komusiewicz


  • Basic techniques of algorithm engineering, especially for NP-hard problems
  • Design, analysis, implementation, and testing of algorithms
  • Problem modeling and algorithmic techniques such as search tree algorithms, data reduction, and lower bounds
  • Exact, approximative, and heuristic algorithms
  • Reduction to established solvers, problem formulation using propositional logic or integer linear programs

Qualification Goals

The graduates of the module

  • can develop efficient algorithms for computationally hard graph problems,
  • have experience in estimating runtime and storage requirements,
  • are proficient in handling modern algorithm libraries,
  • are able to organize project work in a team, document their work adequately, and describe their developed algorithms and implementations in short presentations.


None. The competences taught in the following modules are recommended: Object-oriented Programming, either Algorithms and Data Structures or Practical Informatics II: Data Structures and Algorithms for Pre-Service-Teachers, Efficient Algorithms.


The module can be attended at FB12 in study program(s)

  • B.Sc. Data Science
  • B.Sc. Computer Science
  • M.Sc. Data Science
  • M.Sc. Computer Science
  • M.Sc. Mathematics

When studying M.Sc. Computer Science, this module can be attended in the study area Specialization Modules in Computer Science.

The module can also be used in other study programs (export module).

The module is assigned to Practical Computer Science. Further information on eligibility can be found in the description of the study area.

Recommended Reading

  • Stefan Schirra, Matthias Müller-Hannemann (eds). Algorithm Engineering. Springer, 2006.

Please note:

This page describes a module according to the latest valid module guide in Winter semester 2021/22. Most rules valid for a module are not covered by the examination regulations and can therefore be updated on a semesterly basis. The following versions are available in the online module guide:

The module guide contains all modules, independent of the current event offer. Please compare the current course catalogue in Marvin.

The information in this online module guide was created automatically. Legally binding is only the information in the examination regulations (Prüfungsordnung). If you notice any discrepancies or errors, we would be grateful for any advice.