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

Topics covered at DOTNET-CONCURRENCY--RT-04
View Schedule & Book More dates available

Next up:


Parallel computation and multicore computation have come 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

Functional Concurrency in .NET with Riccardo Terrell

Join this course to explore the powerful and accessible tool of parallel computation and learn how to optimize the performance of your application, maximise computational resources utilisation, and use multi-core computation effectively.

You will learn which technologies and tools will help you achieve exceptional performance in applications and how you can achieve peak performance with fewer lines of code by writing readable, more modular, and maintainable code in both C# and F#. You will also learn how to design solutions that can adapt resource consumption, whether running locally, on OnPrem, or on Cloud infrastructures.

When you return back to work, you will have code bend to your will!

Online Learning at Skills Matter

This course will be offered virtually over 4 half‑day sessions of 4 hours each.

Since 2013 Skills Matter has been offering unparalleled training led by the creators and innovators behind cutting-edge technologies and methodologies. In this unprecedented time, we’ve moved out of the classroom to offer online training for the remainder of 2020.

Our virtual courses offer the same expert-led, hands-on experience as always — only now we’re making it accessible around the globe from the comfort of your own home (office).

Learn how to:

Leverage multi-core 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

Implement Multi-threaded behavior without the use of low-level concurrency constructs like locks.

Develop highly scalable and fault-tolerant distributed systems applications using a combination of Asynchronous programming, Actor model and Reactive Extensions.

About the Author

Riccardo Terrell

Riccardo is a Microsoft Most Valuable Professional (MVP) who is active in the .NET, functional programming, and F# communities.He is passionate about integrating advanced technology tools to increase internal efficiency, enhance work productivity, and reduce operating costs.



  • 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
  • Writing a basic Helm chart for the whole app
  • 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)
  • 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 to solve concurrency problems
  • Designing and implementing a clustered, high-availability architecture that is elastic, scales in or out, on demand
  • Building highly available, self-healing distributed systems and scalable systems using the message passing model
  • 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



Are you working with Kubernetes already, but still find yourself keen for clarification around advanced concepts such as deploying stateful apps or managing capacity and compute resources? Learn this and more on our Advanced Kubernetes Concepts course with expert Jérôme Petazzoni.

If you are a professional software engineer or solution architect, keen to master the domain of multicore and distributed systems and become an expert at delivering successful, optimized, high-performance solutions, this Functional Concurrency in .NET course is for you!


To make the most of this course, you need to have a basic understanding of Kubernetes fundamentals. You need to know:

To benefit from this Functional Concurrency in .NET course, you should have at least two years of professional experience developing in an OO or functional programming language prior to attending. You won't need any prior experience in functional programming to participate.