Why Attend?

This course is designed to help software development teams learn the basics of functional programming and its benefits. We will explore the fundamentals of the functional paradigm in a series of hands-on exercises, which will provide a starting point for your journey into functional programming.

This course teaches software development teams how to:

  • Introduce the way of thinking of Functional Programming
  • Understand the benefits (and drawbacks) of immutability
  • start using the basic elements needed to create complex applications using FP languages
  • simplify their testing needs
  • introduce some of the ideas into their current paradigms
  • introduce FP languages into their current systems


This course is designed for software development teams that:

  • Have at least two years of commercial experience
  • Are evaluating the use of an FP language
  • Want to simplify the business flows wihtin their system(s)

Course Content

  • Lesson 1 - Introduction to course, objectives, F# and Fable
  • Lesson 2 - Introduction to the domain
  • Lesson 3 - Immutability
  • Lesson 4 - Impure/Pure/Impure sandwich
  • Lesson 5 - Functions as first class citizen
  • Lesson 6 - Partial application
  • Lesson 7 - Lambdas
  • Lesson 8 - Piping
  • Lesson 9 - Composition
  • Lesson 10 - Recursion
  • Lesson 11 - Alternatives to recursion
  • Lesson 12 - Pattern Matching
  • Lesson 13 - Helpful Constructs
  • Lesson 14 - Railway Oriented Programming
  • Lesson 15 - Testing
  • Lesson 16 - An overview of FP languages



  • Access to a GitLab account
  • Bring their own laptop
  • The following applications are installed:
    • NodeJS
    • npm
    • .NET
    • paket - execute `dotnet tool install -g paket` from the command line
  • Have an integrated development environment that can handle F#. We recommend using Visual Studio Code with Ionide.

You're in good company

Asos Aspect Flextrade M and G Moonpig Society Generale Roche Vistaprint Schibsted Siemens Lastminute

Let's discuss your training needs

We are excited to learn more about your business. Find out how Codurance’s training courses can power your technology teams.