Modern patterns of concurrent and parallel programming in .NET


Sold OutBecome the master of the multicore 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.

Concurrency, multi-core parallelism, and distributed parallelism are powerful and accessible. These computing concepts promise big impacts on the full spectrum of software applications, including video games, web applications and market analytics suites. Programmers of these products know how to partition computations over large distributed datasets in order to take full advantage of modern hardware and computing environments. These programming skills are not easy to master. This course will introduce technologies and tools available to developers at every level who are interested in achieving high-performance, reliable and maintainable code through functional-style parallelism and concurrency.

We are facing a new era of geographically-distributed, highly-available systems with processor designs that are scaling out in core counts quicker than they are scaling up in core speeds. In keeping up with performance expectations as complexities and dataset grow, scaling out software architectures over these modern computing resources is one of the biggest challenges facing developers today.

This course will introduce you to technologies and tools available to developers at every level who are interested in achieving exceptional performance in applications. You will gain an insight into the best practices necessary to build concurrent and scalable programs in .NET using the functional paradigm, which covers OnPrem and Cloud based applications.

Notes and comments
The following objectives will be satisfied during the duration of the course:

1. Functional Programming Techniques for Concurrency
2. Building high-performance concurrent systems
3. Implementing high-volume real-time event stream processing
4. Implementing concurrent patterns such as divide-and-conquer, fork/join, producer-consumer, Map-Reduce, pipeline and more
5. Asynchronous Functional Combinators
6. Applying Reactive Programming Everywhere with Agents and Actors
7. How to develop applications that scale up & out using the same programming model (Agents and/or Actors)

Target Audience
Any developer who want to improve their skills and employ polyglot techniques to solve concurrent problems

Prerequisite
The preferred audience for this course is as follows:
– Developer with 2-3 years’ experience and/or architect.
– Basic knowledge a programming language, recommended either C# or F#
– No experience in functional programming is necessary
– Developers who want to improve their skills and employ polyglot techniques to solve problems.

Riccardo Terrell

I am functional guy living in an imperative world.

Riccardo is an information systems and technology professional and architect specializing in software & systems development. He has over 20 years’ experience delivering cost-effective technology solutions in the competitive business environment. Riccardo is passionate about integrating advanced technology tools to increase internal efficiency, enhance work productivity, and reduce operating costs. He is a MVP who is active in the .Net, functional programming, and F# communities. Riccardo believes in multi-paradigm programming to maximize the power of code and is the author of “Functional Concurrency in .NET”; which, features how to develop highly-scalable systems in F# & C#.