Once the basics of C# feel comfortable, the next step is the set of features that real-world .NET code leans on every day. These are the tools that let you write code that is reusable, expressive, and able to do more than one thing at a time, and you will meet them constantly in the web APIs and data access code later in the course.
You'll start with generics, which let you write type-safe code once and reuse it with many types. Then you'll look at delegates and lambda expressions, including the built-in Func and Action types. From there you'll move on to LINQ for querying collections, and finish with async and await for writing asynchronous code that stays responsive.
With these in place, you'll be ready for the next module, Version Control & Repo Hosting, where you'll learn to track and share your code with Git.
An introduction to generics: how type parameters let you write type-safe, reusable code, with generic classes, interfaces, and methods, and how they improve custom data structures and collections.
Builds up from storing a function in a variable to writing lambda expressions, and shows how Func and Action are built on delegates and when to use each.
A beginner-friendly introduction to LINQ (Language Integrated Query), explaining what it is and how to use it to query data with a simple worked example.
A deeper look at asynchronous programming: the state machine the async keyword generates, how await creates checkpoints in it, and how the Task class ties your code into the async model.