Module Handbook

  • Dynamischer Default-Fachbereich geändert auf INF

Module INF-14-57-M-6

Algorithmic Differentiation (M, 5.0 LP)

Module Identification

Module Number Module Name CP (Effort)
INF-14-57-M-6 Algorithmic Differentiation 5.0 CP (150 h)


CP, Effort 5.0 CP = 150 h
Position of the semester 1 Sem. in WiSe
Level [6] Master (General)
Language [EN] English
Module Manager
Area of study [INF-VIS] Visualisation and Scientific Computing
Reference course of study [INF-88.79-SG] M.Sc. Computer Science
Livecycle-State [NORM] Active


Type/SWS Course Number Title Choice in
Presence-Time /
SL SL is
required for exa.
PL CP Sem.
2V+2U INF-14-57-K-6
Algorithmic Differentiation
P 56 h 94 h
ja PL1 5.0 WiSe
  • About [INF-14-57-K-6]: Title: "Algorithmic Differentiation"; Presence-Time: 56 h; Self-Study: 94 h
  • About [INF-14-57-K-6]: The study achievement "[U-Schein] proof of successful participation in the exercise classes (ungraded)" must be obtained.
    • It is a prerequisite for the examination for PL1.

Examination achievement PL1

  • Form of examination: written exam (Klausur) (60-180 Min.)
  • Examination Frequency: Examination only within the course
  • Examination number: 61457 ("Algorithmic Differentiation")

Evaluation of grades

The grade of the module examination is also the module grade.


  • Difference between Algorithmic and Mathematical Differentiability
  • Basic Concepts of Algorithmic Differentiation (AD)
  • Forward Mode of AD
  • Reverse Mode of AD
  • Higher Order Derivatives
  • Implementation and Software
  • Source to Source vs. Operator Overloading Techniques
  • Reversal Schedules and Loop Checkpointing
  • Implicit and Iterative Differentiation

Competencies / intended learning achievements

Algorithmic or Automatic Differentiation (AD) is a set of techniques based on the mechanical application of the chain rule to obtain derivatives of a function given as a computer program. AD exploits the fact that every computer program, no matter how complicated, executes a sequence of elementary arithmetic operations such as additions or elementary functions such as exp(). By applying the chain rule of derivative calculus repeatedly to these operations, derivatives of arbitrary order can be computed automatically, and accurate to working precision. The students shall understand the various techniques of AD presented during the semester and become capable to apply these AD techniques to C and C++ codes from science and engineering.


  • A. Griewank und A. Walther: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Second Edition. SIAM 2008.
  • U. Naumann: The Art of Differentiating Computer Programs. SIAM, 2012.
  • current scientific literature.

Requirements for attendance of the module (informal)

Programming Skills in C/C++

Requirements for attendance of the module (formal)


References to Module / Module Number [INF-14-57-M-6]

Course of Study Section Choice/Obligation
[INF-88.79-SG] M.Sc. Computer Science [Specialisation] Specialization 1 [WP] Compulsory Elective
[MAT-88.105-SG] M.Sc. Mathematics [Subsidiary Topic] Subsidiary Topic (Minor) [WP] Compulsory Elective
[MAT-88.118-SG] M.Sc. Industrial Mathematics [Core Modules (non specialised)] Computer Science and Computational Methods [WP] Compulsory Elective
[MAT-88.276-SG] M.Sc. Business Mathematics [Core Modules (non specialised)] Computer Science and Computational Methods [WP] Compulsory Elective