0845 450 6120

Fast Track to F#

Fast Track to F# with Tomas Petricek & Phil Trelford

F# is increasingly used in domains such as finance, gaming, mobile & web development and testing - it makes it possible to solve complex problems with simple, maintainable and robust code.

This two-day course looks at a number of applications, exploring how F# simplifies domain modelling & testing, looking at it’s advanced, indispensable features for asynchronous and concurrent programming and data processing - making this an essential course for anyone looking to start using F# in practice who would like to begin making the most of functional and concurrent programming concepts.

About the Authors

Tomas Petricek

Tomas is a computer scientist and open-source developer. He is a Visiting Researcher at the Alan Turing Institute working on tools for open data-driven storytelling. He wrote a popular book called "Real-World Functional Programming" and is a lead developer of several F# open-source libraries.

Phil Trelford

Phil is an active member of the software development community, regularly attending and speaking at user groups and conferences, blogging and contributing to open source projects. He is a co-organizer of the London F# User Group and a founding member of the F# Foundation.


Are you:

  • A software developer who wants to use F# in a real-world software system?
  • A software architect and want to find out how to best leverage the power of F#?
  • A developer who wants to broaden your skill set and get a better grasp on concurrency and functional ideas?

This course has been tailored for C# & C++ developers with at least 2-3 years of enterprise experience, who would like to start evaluating or using F# or gain a new perspective on software architecture and development.


Learning Objectives

Learn how to:

  • Write effective and succinct solutions to complex problems in F#
  • Model complex domains with functional types and domain specific languages (DSLs)
  • Learn how to integrate F# in to your company workflow through prototyping, testing and scripting
  • Use F# 3.0 type providers to gather and process data
  • Use F# asynchronous workflows and agents to write scalable concurrent code



Whilst this course does not require prior experience with F# or functional programming, we do recommend that you have working knowledge of some object-oriented language. Similarly, some knowledge of .NET would be useful, but not required.

Bring your own hardware

Delegates are requested to bring their own laptop to participate in this course.

Course Content

Introducing F#

  • How does F# fit with the rest of the world?
  • Object-oriented F# from a C# perspective
  • Working with F# types and functions
  • How F# avoids NullReferenceExceptions

Domain modelling and DSLs

  • Modelling problem domains with functional types (“Domain on a single page”)
  • Implementing business logic in F#

Writing applications in F#

  • Testing F# code and using F# as a testing tool
  • Building a retail .NET application in F#

Data processing and F# 3.0 type providers

  • Obtaining data with type providers
  • Processing and visualizing data
  • Numerical calculations and machine learning
  • How do F# type providers work?

Asynchronous and concurrent programming

  • How to write non-blocking computations
  • Asynchronous workflows for server-side and client-side programming
  • Introducing agent-based concurrency in F#
  • Designing concurrent scalable data-processing systems in F#
One Month
Two Months
Three Months
More than Three Months
PRINCE2 Foundation & Practitioner
MSP Foundation & Practitioner
APMP Certificate
ITIL Foundation
Scrum in One Day
Certified ScrumMaster
ISTQB Software Test Foundation
Microsoft Project
BCS Business Analysis Practice
Other - Please Specify Below

Our Customers Include