Practical programming in F#

Functional Programming .NET Programming languages Microsoft

This course covers everything you need to get started writing applications using the best programming language on the .NET platform: F#! F# is a mature and flexible language for doing functional programming, which is rapidly growing in popularity. The F# type system is simultaneously more powerful and light-weight than the C# type system, leading to elegant code with fewer bugs. The compiler does a lot of heavy lifting for you, yet manages to stay out of your way - allowing you to focus on the problem you're solving.

Since F# is a fullblown member of the .NET family, you can use all your favorite frameworks and libraries if you're currently programming C#.


  • F# setup and how to get started.
  • Syntax and semantics of basic language constructs: variables, algebraic data types, expressions, operators, pattern matching and more.
  • Functional programming: purity, higher-order functions, currying and partial application.
  • F# as a .NET family member, interop with well-known .NET libraries.
  • Practical application of F#: how to write an end-to-end application, including web programming, domain modelling and database access.


The course is suitable for programmers that are curious about the F# language and want to acquire the skill necessary to use it in practice. Prior knowledge of functional programming is not required. You don't need to know any other .NET languages either.


Why F#?

  • What are the strengths of F#?
  • What is functional programming and why should you care?
  • Why would you want to learn F# if you already know C#?


  • Installing F#
  • F# in Visual Studio and other editors
  • F# as a scripting Language
  • Interactive programming in F#

Introduction to the F# language:

  • Primitive types
  • Tuples and lists
  • Modules and namespaces
  • Functions
  • Objects
  • Error handling
  • Functional Programming
  • Imperative Programming
  • Object-oriented Programming

Practical application of F#:

  • Domain modelling in F#
  • Testing in F#
  • Data access in F#
  • Web programming in F#
  • Asynchronous Programming
  • An overview of advanced topics:
  • Type providers
  • Actors
  • Computation Expressions
  • Quotations


09:00 - 16:15


Why F#?


Introduction to the F# language

Practical application of F#