Asynchronous programming with async and await Don't block, await instead Start tasks concurrently Composition with tasks Asynchronous exceptions Await tasks efficiently