This hands-on Functional Concurrency course explores the powerful and accessible tool of parallel computation, showing you how to: optimise and maximise performance of an application; effectively use multi-core computation; and maximize the computational resources utilisation (used across a range of industries and applications).
With Riccardo Terrell, renowned software engineer and Microsoft MVP, you will explore best practices necessary to build concurrent and scalable programs in .NET, covering OnPrem and Cloud-based applications.
The course will give you firsthand insight into parallel computation and multi-core computation so that you can master peer applications in finance software, video games, web applications and market analysis.
- Come away with an advanced understanding of parallel computation in .NET -
Who you will be learning with
Software engineers, developers and solutions architects interested in leveraging the power of multi-core computers in the pursuit of minimising bugs, strengthening ecosystems and breaking the bonds of sequential programming.
How to apply these skills
Come away with an advanced understanding of both parallel and multi-core computation, giving you the skills and knowledge to pursue exceptional performance in your applications.
Book early to receive a discount on the course price and in doing so you will not only commit to growing your own skill set, but help us grow our community of over 140,000 passionate techies.
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
- 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
- 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
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!
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.