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

  4 days


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.

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.

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

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!

This course is run virtually over 4 half‑day sessions of 4 hours each.

Our virtual courses offer the same expert-led, hands-on experience we've offered since 2013 — accessible from the comfort of your own home (office).

You'll join Riccardo and participants from around the globe in a virtual classroom where you'll utilise a collaboration tools like Zoom and Slack to start mastering Functional Concurrency.

Online Courses for Software Professionals at Skills Matter

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.

Available dates

Dates coming soon

Can't make it on any of these dates?
Our team is happy to discuss other options with you.
Contact us at and mention ref: DOTNETCONCR-RT-02.
Private tuition and large-group discounts are also available. Find out more here.

Who should take this workshop?

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 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.

Workshop Outline

  • 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

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