Discover the practical power of Asynchronous Programming in C# and gain the expertise needed to write responsive, efficient, and scalable applications.
This comprehensive two-day course for seasoned C# and .NET developers will cover a wide range of topics, from threads, tasks and async/await to advanced features like task schedulers and synchronization contexts.
Plenty of hands-on exercises are included to enable you to master and apply the concepts of asynchronous programming. By the end of this course, you will know how to use asynchronous techniques to optimize your applications’ efficiency, scalability, and responsiveness.
Experienced C# developers who want to understand how to correctly write asynchronous programming to enhance their applications using asynchronous and parallel programming.
In today’s dynamic software landscape, mastering asynchronous programming is increasingly essential for writing faster, hardware-optimized applications. As multi-core CPUs are now standard, parallel processing is the key to unlocking performance. This course is designed for C# developers seeking to take their apps to the next level.
To get the most from this training, you should have at least one year of experience as a C# developer. A strong understanding of C#, including generics, lambdas, and LINQ, is crucial. Experience in parallel or async programming is not required. This course is up-to-date with .NET 10 and C#14.
The course takes place over 2 days and it can either be delivered over 2 full days or 4 half days.


Most modern .NET libraries are built around Task, async, and await. Understanding async programming helps you build responsive apps, avoid thread starvation and deadlocks, and write scalable code for web, desktop, and services.
You’ll learn async programming from the ground up: how work is executed on threads, how the .NET thread pool behaves, how Task works, and how to write correct, efficient async code using async/await, cancellation, and best-practice patterns.
You rarely create threads manually in day-to-day .NET development, but all async code ultimately runs on threads. Understanding threads and the thread pool makes it easier to reason about performance, responsiveness, blocking vs non-blocking code, and why certain async bugs happen.
To keep the workshop focused, we do not cover concurrency primitives and advanced coordination topics such as locks, concurrent collections, TPL Dataflow, Channels, or Pipelines. These topics are better handled in a dedicated advanced concurrency workshop.
This is not a beginner C# course. You should be comfortable with modern C# syntax and concepts such as lambdas and LINQ. Prior async/parallel programming experience is not required, but it helps if you’ve seen Task and async/await before.
We use .NET 10 and Visual Studio 2026. The principles and patterns taught apply to earlier .NET versions as well, though some APIs and diagnostics features may differ.
You can still attend. The core async model (Task, async/await, cancellation, continuations) is stable across .NET 6–9. We’ll call out the few areas where .NET 10 introduces newer APIs or improved tooling.
This is an instructor-led workshop delivered either in-person or live online. You can ask questions throughout the course and get feedback during exercises.
Yes. The course includes extensive hands-on exercises throughout each module. In most deliveries, more than half the time is practical work, so you leave with skills you can apply immediately.
You need a .NET development environment that can run .NET 10 (Visual Studio 2026 or an equivalent .NET IDE). We’ll share setup guidance before the course.
Yes. We offer both on-site (classroom) training and live online sessions.
Yes. We can teach in Swedish or English. Course materials are in English.
For on-site deliveries, we typically run full-day sessions. For remote deliveries, half-day or full-day formats can be arranged.
Yes. See our Talks page for current options and topics.
Yes. We offer private team deliveries, where the agenda and exercises can be tailored to your codebase, tech stack, and problem areas. Contact us with your goals and constraints.
More than half of the course is dedicated to hands-on coding. The exercises start at an intermediate level and gradually increase in difficulty, helping you experience common gotchas and pitfalls and learn best-practice patterns you can apply directly in your own .NET applications.
Yes. You’ll receive the course deck and exercise material as a PDF, along with the full exercise solutions (including completed code), so you can review and practice after the workshop.
The course is continuously maintained and updated. We regularly revise the content to reflect new .NET features and best practices, and we improve the exercises and material based on participant feedback after each delivery.
Hello! I’m Tore Nestenius, a senior software developer, trainer, and consultant with deep experience in .NET and C#. I help developers and teams understand modern .NET concepts in a clear, practical, and hands-on way.
Why I’m an expert in this field:
Connect with me on LinkedIn to stay up to date with new blog posts, upcoming presentations, webinars, and course announcements.

Corporate trainings are arranged for a day and time that suits your team, while my online classes’ dates and times are arranged once there are enough individuals interested, ensuring a better price as well as a time that works for everyone.