0345 4506120

Functional Concurrency in .NET with C# & F#

Functional Concurrency in .NET with C# & F# with Riccardo Terrell

Are you interested in unleashing the power of functional programming? Join Riccardo Terrell on this exciting new course and learn best practices necessary to build concurrent and scalable programs in .NET covering OnPrem and Cloud based applications.

This hands-on workshop will explore the powerful and accessible tool of parallel computation. This course teaches how to optimize and maximize performance of an application, how to most effectively use multi-core computation and maximise the computational resources utlisation, which is used across a range of industries and applications.

Become the master of the multicore and distributed systems domain. Learn how to harness the powers of parallel computation and multicore computation to dominate peer applications in finance software, video games, web applications and market analysis. To yield the most performance, computer programmers have to partition and divide computations to maximize the performance while taking full advantage of multicore processors. Start your path from Padawan to Jedi.

After this workshop, you will be ready to return to work and have code bend to your will. This course introduces you to technologies and tools available to developers at every level who are interested in achieving exceptional performance in applications.

This course is an intensive workshop in writing readable, more modular, and maintainable code in both C# and F#. These languages function at peak performance with fewer lines of code, resulting in increased productivity and successful programs. Ultimately, armed with new found skills, attendees will gain the knowledge needed to become experts at delivering successful, optimized, high-performance solutions. These solutions can adapt resource consumption, whether running locally, on OnPrem, or on Cloud infrastructures.

In this course, participants will have hands-on practice designing projects. By the end of the course, participants will know how to build concurrent and scalable programs in .NET using the functional paradigm.

About the Author

Riccardo Terrell

Riccardo Terrell

Riccardo Terrell is a seasoned software engineer and Microsoft MVP who is passionate about functional programming. He is active in the .NET community and the author of "Functional Concurrency in .NET", which features how to develop highly-scalable systems in F# & C.


Are you a software engineer, developer or solution architect who wants to break the bonds of sequential programming and leverage the power of multi-core computers? Or are you know OO technologies but are interested in learning about 'Functional Programming'? Are you interested in combining different program paradigms and concurrent libraries to dramatically reduce bugs? Then this course is for you!


Learning Objectives

Learn how to:

  • Leverage multicore computation, increasing the capacity and speed of their programs
  • Apply the major functional theories and best practices in concurrent programming
  • Design and exploit the key principles and techniques for concurrent and parallel programming
  • Develop highly scalable and fault tolerant applications using a combination of Asynchronous programming, Actor model and Reactive Extensions
  • Design and implement highly-scalable and fault tolerant distributed systems

By the end of the course participants will know how to build concurrent and scalable programs in .NET using the functional paradigm.



2-3 years of professional experience and a basic knowledge of a programming language. No experience in functional programming is necessary.

Bring your own hardware

To participate in this course, you are required to bring your own laptop, so you can develop with your own tools and languages, rather than something you are not familiar with.

Course Content

  • Why choose functional programming for concurrent programs
  • Functional programming techniques and practices for concurrent programming
  • How to overcome the concurrent pitfalls writing complex parallel application effortlessly
  • Building high-performance concurrent systems that self-adapt the degree of parallelism based on the current resources available
  • Integrating concurrent programming abstractions
  • Handling and composing high-volume real-time event stream processing
  • Design patterns for concurrent applications
  • Choose and leverage the best concurrent patterns to solve problems (for example divide and conquer, Fork/Join, pipeline and so on)
  • Accelerate sequential programs
  • Creating a data-access layer to handle massive concurrent requests
  • Asynchronous Functional Combinators to express complex flow in a declarative and composable style
  • Applying Reactive Programming everywhere with Agents and Actors
  • How to develop applications that scale up & out
  • How to write scalable and robust server-side asynchronous code for the Cloud
  • Designing and implementing highly-scalable, reactive and fault-tolerant distributed systems for the cloud

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the requested service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.


Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Our Customers Include