Go to the Datasim Education BV homepage Datasim Education BV Datasim Education BV Datasim Education BV Datasim Education BV Datasim Education BV
Courses
Books
Downloads
Information request
Forum



Follow datasim on Twitter

Share this page

COURSE DETAILS
F# Training




Course Category: 
Course: 


F# for Object-Oriented Programmers  - (code FS-F)

The main goal of this intensive three-day course is to introduce the .NET language F#, how it supports the functional and object-oriented programming models and how it can be used to write applications. In particular, we also discuss interoperability support between F# and C#, C++ and Excel, for example. This is not a course for beginners and we have designed it for experienced object-oriented developers who wish to learn new ways to create software systems and applications which can benefit from many of the powerful language features in F#.

We discuss all aspects of the language, from learning the syntax through to details of how F# supports a number of popular programming paradigms and its facility in software development.

Course Benefits

This is one of the first courses on F# and its applications to domains such as computational finance, science and engineering. We discuss all topics that are needed when developing applications in this language. In particular, we pay attention to the following:

  • Enabling the transition from OOP to Functional Programming paradigm.
  • Learning F# syntax and the IDE environment.
  • The programming paradigms in FP and how F# supports them.
  • Creating multi-paradigm applications in F#.
  • The advantages of using parallel and concurrent programming in F#.
  • Domain-specific languages (for example, contracts).
  • Interoperability with C#, C++ and COM.
  • Interoperability with Excel and with LINQ.

 

After having completed this course you will be in a position to apply F# to writing applications using a variety of programming models.


Course contents


Programming Paradigms

  • Declarative and Imperative programming
  • Language-Oriented Programming
  • Symbolic Programming
  • Functional Programming
  • Hybrid Programming

Fundamentals of Functional Programming (FP)

  • Introduction
  • Short history of FP
  • Higher-order functions
  • Recursion; passing a function to itself
  • Strict and non-strict (delayed) evaluation
  • Pure functions
  • Lambda functions

Fundamentals of F#

  • F# basics
  • F# and .NET
  • F# interactive
  • Primitive types
  • Functions
  • Control flow
  • Core types: Unit, tuple, list

Functional Programming

  • Functions and Data
  • Function composition
  • Closures
  • Currying and uncurrying
  • Fold
  • Continuations

Advanced Functional Programming

  • Programming with functions
  • Pattern Matching
  • Unions and records
  • Lazy Evaluation
  • Sequences

Imperative Programming

  • Mutable records
  • Arrays
  • Collections
  • Looping
  • Exceptions
  • Delegates, events and multi-casting
  • Publisher-Subscriber, Model-view and Observer pattern
  • Using the .NET libraries

Generics

  • Generic types
  • Generic functions
  • Generic algorithms
  • Subtyping and type inference

Object Orient Programming

  • Programming with objects
  • Classes, methods and properties
  • Inheritance and interfaces

Concurrent and Asynchronous Programming

  • Threads and parallel programming
  • Asynchronous computations and workflows
  • Message processing
  • Shared-memory processing

Language Oriented Programming

  • Domain-specific languages
  • Abstract syntax notation
  • F# Reflection
  • Active patterns
  • Embedded computational languages and workflows

Symbolic Programming

  • Symbolic representations
  • Applications
  • Lexing and Parsing
  • Creating contracts and payoff languages

Interoperability

  • Database Access
  • LINQ
  • COM Interop
  • Interfacing with Excel
  • Other .NET languages (C#, V++/CLI)

Prerequisites
This advanced course is for experienced developers who use languages such as C++, java and C#, for example. No prior knowledge of functional programming or of F# is needed as all the necessary concepts and language features will be discussed in detail in the course. The percentage theory/practice is approximately 70/30.

Who should attend?
Developers and programmers who wish to use the power of functional programming in their projects and who wish to use this programming in their applications.

Duration, price, date, locations
Course duration 3 days
Price Euro 1560.-- ex. VAT
Euro 1887.60 inc. 21% VAT
Date and location Dates available on request

It is also possible to organize this course at your company premises (the in-company option). If you have any question, please contact our Datasim office.

Share this page

Contact and Profile
Registration form
Course Dates