-   Forums
     -   Articles and Whitepapers
     -   Downloads
     -   Courses and Events
     -   Course Registration
     -   Distance learning
     -   Courses for Universities
     -   Books
     -   Audios and Demos
     -   Testimonials

Share this page:  Tweet


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 and registration

Course duration: 3 days.
Course price: € 1560.-- ex. VAT.
€ 1887.60 inc. 21% VAT.
Dates and location: (click on dates to print registration form)


Date(s) Location Price Language
No dates yet.

This course can be organised on-demand. Call Datasim (+31-72-2204802) or for more information about the possibilities.



Share this page:  Tweet