menu Navigation
Haben Sie Fragen?
Maike Fiedler
+49 (40) 414250-18

Functional Software Architecture – in EnglishFunctional Software Architecture – in English

incl. 1 day introduction to functional programming

This seminar is held in English!

The translation of this website is still in progress. In the meantime, you can visit for a quick overview of our services in English.


4-tägiges Seminar
€ 2,250.00
Alle Preise zzgl. MwSt
Firmeninternes Seminar


How does software architecture work with functions, immutable data, combinators?

The training presents functional software architecture to the participants as an alternative to object-oriented architecture. Compared to OO architecture, functional software architecture relies on immutable data, algebraic abstractions and embedded domain-specific languages. The result is flexible and robust architectures that are less complex than OO and involve fewer hidden dependencies.

In functional languages, architecture is code – due to their increased expressiveness and abstraction capabilities. In the training, participants will work on hands-on exercises (in Haskell).

On the first day of the seminar there will be a compact introduction to functional programming for course participants who have no experience with FP – or a short refresher for those who do. There will be mainly hands-on exercises with practical programming will be done. The special teaching languages and the proven didactic methodology of the „DeinProgram“ design recipes will be used.

iSAQB Accredited TrainingAs preparation for the iSAQB Certified Professional for Software Architecture, Advanced Level (CPSA-A).
The seminar covers the areas „Methodological Competence“ as well as „Technical Competence“ of the CPSA-Advanced curriculum and is licensed accordingly at the iSAQB. If you are seeking certification, you can earn 10 credit points in the area of „Methodological Competence“ and 20 credit points in the area of „Technical Competence“ by attending. Information on CPSA certification can be found here.

Lecturer Dr. Michael Sperber is a co-author of the FUNAR curriculum.


Day 1: Introduction to functional programming

  • Data modeling
  • Design recipes
  • Self-references and recursion
  • Programming with sequences
  • Higher-order programming
  • Built-in data structures
  • Programming with state
  • programming with accumulators
  • property based testing

Day 2-4: Structure of functional software systems

  • Functions and values
  • Composition
  • Types
  • Modules

Technologies for functional programming

  • static types
  • dynamic types
  • tail calls
  • strict and non-strict evaluation
  • runtime environment

Implementation of functional requirements

  • DDD vs. FP
  • combinator models
  • embedded domain-specific languages

Implementation of non-functional requirements

  • CQRS
  • Event Sourcing
  • Parallelization
  • Distribution

Architecture pattern

  • functional data structure
  • monoid
  • functor
  • monad
  • model view update


Experience with functional programming is helpful, but not required.