Essential F# Programming

Contact Us for Dates
2 days practical workshop for up to 12 people.

Only £790 per person

Contact us for Onsite Price

F# is a functional programming language and hence adopts a style which bows to both procedural and object-oriented methods. It derives from the need to express things almost mathematically, but using algorithms and formulas implemented in programming language syntax.


The course is spread over a two-day period and comprises of instructor-led presentations and practical hands-on exercises. The practical sessions are structured to give the delegates the opportunity to put into practice all of the language constructs covered during the instructor-led sessions. The delegates will be able to take away with them copies of all the code they have written, along with sample solutions and demonstration code. The course contains applications which make use of Visual Studio .NET, but does not rely on it.

Training Course Objectives

  • Write, maintain and debug F# console applications
  • Make effective use of some of the core F# functionality
  • Write functional-based and object-oriented code.

Who it is for

This training course is designed for experienced programmers that need to start developing F# applications

Training Course Prerequisites

  • Experienced in a block-structured language such as Pascal, modern variants of Basic, Smalltalk, Ada, C or C++, Java
  • Familiar with concepts such as functions or procedures, control flow, arrays, and structures or records
  • Knowledge of C++, Java or the other .NET languages is neither assumed nor required


Chapter 1 F# Program Quick start

  • Describe the basic components of a F# application
  • Describe the process used by both the F# interpretor and the F# compiler
  • Write a simple F# program

Chapter 2 Simple Datatypes and Operators

  • Use and define primitive datatypes
  • Use and define identifiers
  • Use operators and operator precedence
  • Use conversions and scope
  • List some of the non-primitive types

Chapter 3 Control Flow

  • Use boolean operators and conditional selection
  • Use iteration and looping constructs

Chapter 4 Aggregate Data

  • Describe the concept of arrays, lists, tuples and sequences
  • Perform simple manipulation on aggregate data
  • Make an educational choice between aggregate types

Chapter 5 Functions

  • Implement and invoke functions
  • Describe function type-constraints and data passing mechanisms
  • Describe specialised usage of functions

Chapter 6 Object Models

  • Model real-world problems
  • Define classification and functionality

Chapter 7 Classes

  • Use object-orientation and encapsulation
  • Define and use objects
  • Defining and calling member functions
  • Define object construction