2,711 $−271 $2,440 $
What this module delivers.
How the training runs
- Method
- Programming exercises in a functional language, 420 of 1,080 minutes
- Basis
- Official iSAQB curriculum 2023.1
- Outcome
- 30 credit points: 10 methodical, 20 technical, no course exam
Dates & booking
Choose a date that fits
1 dates
Sessions with this symbol offer up to 25% group discount. Click “Details & Registration” to learn more.
No dates match this selection.
Dates are still available. Reset the filters to see them.
Fit
Who this module is designed for
Typical roles
- You design domain models and want them to hold up without mutable state.
- You introduce functional patterns into an existing object-oriented codebase.
- You decide the macro architecture and own how state flows through the system.
Prerequisites
No prerequisites
You can start right away. What you need: experience modelling architectures. Helpful: basic knowledge of algebra.
Consider instead DDD Orders the domain through ubiquitous language, knowledge crunching and context mapping, and assumes object-oriented rather than functional development.
Curriculum
CPSA® FUNAR Course in Detail
iSAQB curriculum 2023.1 divides FUNAR into five parts across 1,080 teaching minutes and sets three days as the minimum duration. tecnovy puts a pre-course day on functional programming in front of those three accredited days, so the seminar runs four days in total.
01Basics of Functional Programming
This part lays out the tools everything else is built from.
- Values, functions, composition, types and modules as the building blocks
- Breaking domain data down into composite and mixed data types
- Telling pure functions apart from state-changing procedures
- Construction recipes: deriving the function from its type
02Technologies
The shortest part answers the question of which language fits.
- Static against dynamic type systems and what each costs the design
- Strict against non-strict evaluation
- Tail recursion and why it decides the runtime behaviour
- Criteria for choosing a functional language for a project
03Functional Modeling
The domain model is built here, out of algebra rather than out of classes.
- Combinator models with recursion as the structure of the model
- Semigroup, monoid and functor in domain modelling
- Applicative functors as the next step of abstraction
- Closure of operations as the bridge to tactical domain-driven design
04Functional Macro Architecture
From here on the subject is the whole system rather than a single model.
- Monads for processes that have to follow one another
- Dependency injection without mutable state
- Event-based architecture and the modelling of domain processes
- Model View Update as the pattern for the system as a whole
05Examples
To close, everything comes together in worked examples.
- Immutable data and pure functions across a complete design
- Functional modelling and macro architecture working together
- A comparison against the object-oriented version of the same design
Outcome
What you will be able to do afterwards
- 01
You break domain data down into composite and mixed data types and derive the signature from them.
- 02
You separate pure functions from state-changing procedures and justify where the line falls.
- 03
You choose between static and dynamic typing and name the consequences for the design.
- 04
You model a domain as a combinator model and test it against semigroup, monoid and functor.
- 05
You carry tactical domain-driven design building blocks over into functional models using closure of operations.
- 06
You describe sequential processes with monads and inject dependencies without mutable state.
- 07
You design event-based systems along the Model View Update pattern.
- 08
You compare a functional design against its object-oriented counterpart and name the differences.
Credit points toward CPSA-A
- Methodical competence
- 10
- Technical competence
- 20
- Communicative competence
- 0
30 of 70 points toward CPSA-A admission
Certificate of participation
The tecnovy certificate of participation records your attendance of the FUNAR training, not a passed examination.
Open the Certificate Showroom tecnovy →≥80%attendance
Why tecnovy
What you get on top with us
01
iSAQB® Accredited Provider
We are an officially accredited Training Provider of the International Software Architecture Qualification Board.
02
Certificate Showroom
Get your certificate of participation and, if you have one, add your exam certificate from E-Learning. Fully automated, beautifully designed. Just for you, only at tecnovy.
03
No Slideshow, Hands-On!
Promised: no PowerPoint marathon. We work in groups, tie theory to practice, and you get real project examples from our experienced trainers plus the exchange with like-minded people.
04
Attend Twice, Pay Once
You are welcome to attend the training online again within a year as a refresher.
05
Learn from Experts
We always guarantee you the use of didactically and methodically first-class qualified trainers who draw their knowledge from training experience as well as professional practical and project experience.
06
Flexible Date Change
If you are not able to attend the course, you can rebook your training free of charge up to one week before the start of the training.
FAQs
Frequently asked questions
01Do I need CPSA-F to attend the tecnovy FUNAR training?
02Is there a FUNAR examination?
03How many credit points does FUNAR carry?
04How does the CPSA-A certification work?
05How long is the FUNAR training?
06Do I need prior knowledge of functional programming?
07Which programming language does the FUNAR training use?
08What is the difference between FUNAR and DDD?
09Do I get the flipcharts from the FUNAR training?
What does your training at tecnovy look like?
