Advanced C#

Overview
This course is the next step after Introduction to Programming and Advanced Programming for students who already have a working foundation in C#. Over 15 to 25 hours, you will move past the basics and into the language features and .NET framework tools that professional developers use every day, from asynchronous programming to data access with Entity Framework Core.
The course is hands-on throughout, with each topic reinforced through practice so that by the end you are comfortable building more complex, real-world C# applications rather than just following along with theory.
What You Will Learn
- Use advanced C# language features such as generics, delegates, events, lambda expressions, extension methods, and nullable types to write more concise code.
- Handle asynchronous operations using async/await and the Task Parallel Library.
- Query and manipulate data from collections, databases, and XML files using LINQ.
- Apply advanced object oriented programming concepts including reflection, attributes, and common design patterns such as Singleton, Factory, and Observer.
- Work with SOLID principles to design more flexible and maintainable code.
- Understand advanced .NET framework concepts such as assemblies, metadata, application domains, and garbage collection.
- Use Entity Framework Core for data access, including database migrations and querying with LINQ.
- Build a complete, real-world application that integrates multiple C# and .NET technologies.
Course Curriculum
| Module | What you cover |
|---|---|
| Advanced Language Features | Generics, delegates, events, lambda expressions, extension methods, and nullable types for writing more concise and expressive code. |
| Asynchronous Programming | Async/await and the Task Parallel Library for efficient handling of asynchronous I/O and concurrency. |
| LINQ (Language Integrated Query) | Querying and manipulating data from collections, databases, and XML files. |
| Advanced Object-Oriented Programming | Reflection, attributes, dynamic programming, design patterns, and SOLID principles for flexible, maintainable code. |
| Advanced .NET Framework Concepts | Assemblies, metadata, reflection, application domains, garbage collection, and interoperability with unmanaged code. |
| Entity Framework Core | Database migrations, querying with LINQ, handling relationships, and performance optimization for data access. |
| Advanced Project Development | Applying everything learned to build a complex, real-world application integrating multiple technologies and frameworks. |
Who This Course Is For
This course is for students who already have computer skills and have completed Introduction to Programming and Advanced Programming, and who want to deepen their C# and .NET knowledge.
Target audiences
- Students who have completed Introduction to Programming and Advanced Programming
- Developers with existing C# knowledge who want to go further
Requirements
- Computer skills
- Introduction to Programming
- Advanced Programming