Asynchronous programming is a fundamental programming technique, of vital importance both on server-side and client-side code. On the server, it can be the key to maximizing performance and enhancing scalability. On the client, it is a critically important technique for ensuring responsiveness. With the addition of intrinsic language support asynchronous programming, this is becoming an ever more important technique. This course describes how to use the asynchronous programming support in the Task Parallel Library (TPL), which was introduced in .NET 4.0. It also shows how the new language features in C# and Visual Basic fit in with the TPL.