Functional Programming .NET

Tomas Petricek’s and Phil Trelford’s two-day Functional Programming in .NET course explains the concepts that you need to write modern applications for .NET using F#, C# with LINQ as well as current and upcoming .NET technologies that arise from functional programming ideas — as described in the book Real World Functional Programming: With Examples in F# and C#.Functional ideas are becoming ubiquitous in the .NET world. F# is a Visual Studio language; C# 3.0 includes many functional constructs; Reactive extensions (Rx) are based on functional design and upcoming version of C# is inspired by F# asynchronous workflows.Learning several simple functional concepts will help you understand these technologies and use them effectively. This means that the course will make you a better programmer even if you’re not going to immediately start using F#. This course is based on experience of developing commercial applications in F# and we’ll discuss good ways of introducing F# to your daily work.

Learn how to

You’ll learn how to use and understand functional programming concepts and technologies in practice on the .NET platform.

  • Think in the functional way and use this thinking when designing .NET applications
  • Write effective and succinct code in F#
  • Combine F# functional libraries F# with object-oriented components in C#
  • Model problem domains using functional types
  • Write reactive and asynchronous applications

Programme

Day 1 (Introducing functional concepts)

From functional programming in C# to F#

  • How F# fits with the rest of the world?
  • Translating object-oriented C# to F#
  • Using immutable types in C# and F#

Working with functional concepts

  • Using functions as values
  • Declarative list processing and how LINQ works
  • Declarative event processing using F# and Reactive Extensions (Rx)

Understanding and refactoring functional code

  • Parallelizing CPU-intensive computations
  • Testing functional programs and .NET applications with F#

Day 2 (Point of sale application in 1 day)

Understanding functional design

  • Using primitive functional data types: Records and Discriminated unions
  • Domain modelling using functional types
  • Writing programs as transformations between domain models
  • Creating abstract data types

Reactive and data-oriented programming

  • Sequence expressions and the workflow syntax
  • Asynchronous user-interface programming
  • Completing Silverlight application

Next Session

The next course will be delivered at The Skills Matter eXchange – London, on 30 Jan 2012 and 16 April 2012 by Tomas Petricek & Phil Trelford. Book online now or contact us directly.

We can also organize a private course for your company. Courses can be organized in United Kingdom, Czech Republic as well as Worldwide. If you’re interested, contact us directly at info@devsense.com.

About the Authors

Tomas Petricek is a long time F# enthusiast, using F# since the early Microsoft Research versions. He has been a Microsoft C# MVP since 2004, and together with Jon Skeet wrote Real-world Functional Programming. He also contributed to the development of F# during internships at Microsoft in Cambridge.
Phil Trelford is a Software Architect at an ISV supplying real-time electronic trading software. His career so far spans over 15 years, with experience in video games, leisure, retail and financial sectors. Phil’s recent commercial development work has been with C++, C#, SQL, JavaScript, and includes over 2 years developing F# applications at Microsoft.

Is this course for you?

If you are software developer or architect and want to dip your toes into functional programming, the Functional Programming in .NET course is for you! No matter if you want to start evaluating or using F#, if you want to gain new perspective on software architecture or if you want to become a better C# programme, the course is for you.

Course labs & exercises

A brief theoretical introduction to every concept will be followed by numerous practical demos and exercises. At the end of the second day, you’ll leave with a complete real-world application developed using F#.

Course prerequisites

The course doesn’t require any prior experience with F# or functional programming. To benefit from the course, you should have working knowledge of some object-oriented language.

Before the course, we provide a brief document that reviews important features of C# 3.0 (from the standard object-oriented point of view) that we’ll use in some practical exercises during the first day.

Share this page

RSS php-compiler.net

  • Writing compiled PHP extensions in PHP February 7, 2012
    PHP offers a lot of various extensions which add additional library functions, classes, constants and other constructs. Common extensions include for example php_mysql and php_iconv. Since extensions are implemented in C language, the performance is great. It also allows programmers to use other native libraries that … Continue reading → […]
  • WordPress on .NET with SQL Server is Possimpible using Phalanger 3.0 January 23, 2012
    In a recent scenario I wanted to run WordPress as a subdirectory of a .NET application. I also wanted to avoid installing PHP and MySql on the Windows server. Impossible? Apparently not! (I’ll get to the word Possimpible a bit … Continue reading → […]