Opleiding: Functioneel Programmeren met F#

Deze opleiding introduceert de principes van functioneel programmeren met F#, een krachtige taal binnen het .NET-ecosysteem. Tijdens de training leer je de basisconcepten van F#, zoals immutabiliteit, functiecompositie en type inference, en hoe je deze kunt toepassen in praktische scenario’s. De focus ligt op het schrijven van concise, onderhoudbare code door middel van pattern matching, recursie en het gebruik van hogere-ordefuncties.
Op dag twee duik je in geavanceerde onderwerpen zoals monads, asynchrone workflows en type providers. Je leert F# te integreren met bestaande .NET-bibliotheken en tools, en ontdekt hoe je functionele technieken kunt combineren met praktische toepassingen zoals dataverwerking en domain-driven design.

Waarom F#?
F# combineert functionele programmeerprincipes met praktische .NET-integratie. Kenmerken:
  • Functioneel-first: Ondersteunt immutabiliteit en compositie als standaard.
  • Type Inference: Minimaliseert expliciete type-annotaties.
  • Succincte Syntax: Minder boilerplate dan C# of Java.
  • Async/Werkelijk parallellisme: Eenvoudige asynchrone code via async-workflows.
  • Data Science & Scripting: Ideaal voor dataverwerking met REPL (FSI) en type providers.

Studiebelasting
  • 2 lesdagen van 8 uur (16 uur totaal).
  • Optioneel: 4 uur zelfstudie voor oefeningen en projectwerk.
  • Ontwikkelaars die functioneel programmeren willen leren.
  • .NET-developers die F# willen inzetten voor complexe data- of domeinlogica.
  • Data engineers en wetenschappers die F# gebruiken voor analyse en scripting.
Dag 1: Introductie en Basisconcepten
  • F# Syntax en Tooling: Werken met F# Interactive (FSI), dotnet fsi-commando’s, en projectopbouw via dotnet new.
  • Immutabiliteit en Basistypes: let-bindingen, tuples, records en Option<T>.
  • Functies en Hogere-ordefuncties: fun-sleutelwoord, |> (pipe operator), List.map, List.filter.
  • Recursie en Pattern Matching: match …​ with, rec-sleutelwoord, recursieve data structuren.
  • Lijsten en Sequences: List.fold, seq { …​ }, lazy evaluation.
Dag 2: Geavanceerde Technieken en Toepassingen
  • Computation Expressions: async { …​ }, maybe-workflows, custom builders.
  • Type Providers: JSON/XML-type providers met FSharp.Data.
  • Eenheden van Maat: -attributen voor type-safe eenheden.
  • Testen in F#: Gebruik van FsUnit, Expecto, en property-based testing met FsCheck.
  • .NET Interoperabiliteit: C#-bibliotheken aanroepen, F#-modules vs. .NET classes.
  • Domain Modeling: Discriminated Unions (type …​ = | …​) voor domain-driven design.


Programma
  • F#-projectstructuur: .fsproj, paket.dependencies, FAKE-buildscripts.
  • Kernconcepten: Currying, partial application, >> (compose operator).
  • Collections: Array, List, Seq, Map, en Set-modules.
  • Pattern Matching: Guards, active patterns ((|…​|_|)).
  • Asynchrone Programmering: Async.Start, Async.Parallel.
  • Metaprogrammering: Quotations (<@ …​ @>) en reflection.
  • Tooling: Debuggen in VS/VSCode, dotnet watch run, Paket voor dependency management.
  • Praktijkcases: JSON-parsing met Thoth.Json, web-API’s met Giraffe.
  • Voorbereiding op Microsoft’s "F# Software Development" (indien beschikbaar).
  • Geschikt als opstap naar certificeringen voor functioneel programmeren (bijv. via FP-community).
Meer...
€1.195
ex. BTW
Aangeboden door
@The Academy
Onderwerp
Functioneel programmeren
Programmeren (algemeen)
Niveau
Duur
2 dagen
Looptijd
12 dagen
Type product
training
Lesvorm
Klassikaal
Aantal deelnemers
Max: 12
Tijdstip
Overdag
Tijden en locaties
Utrecht
di 27 mei 2025
Eindhoven
di 8 jul. 2025
Eindhoven
wo 20 aug. 2025
Eindhoven
wo 10 sep. 2025
Utrecht
wo 1 okt. 2025
Eindhoven
wo 22 okt. 2025
Eindhoven
wo 12 nov. 2025
Utrech
wo 10 dec. 2025
Keurmerken aanbieder
NRTO
Microsoft Learning Partner
CRKBO en BTW-vrijstelling
EC-Council