Choose your language
C# Advanced Course
More than 2 million students worldwide

C# Advanced Course

Take your C# skills from competent to expert with a curriculum that covers the language's most powerful and demanding features. You'll master async programming, generics, LINQ, concurrency, performance optimisation, and metaprogramming — the exact skills that separate senior engineers from the rest. Every topic is grounded in real-world application, giving you tools you can use immediately.

Dedika for businesses

What you will learn:

This course covers advanced C# topics including the async/await state machine, Task-based concurrency, and thread synchronisation primitives. You will learn to design generic APIs with type constraints and variance, write high-performance code using Span and unsafe pointers, and build metaprogramming tools with reflection and source generators. The curriculum also covers LINQ internals, custom query operators, dependency injection architecture, and design patterns implemented in modern C#. You will finish with practical skills in unit and integration testing, CI/CD pipeline setup, and clean code refactoring techniques.

How you study in practice C# Advanced Course

How you practise C# Advanced Course

For companies looking to train their team

With Dedika for businesses, the course includes exercises and examples tailored to your own business and the specific needs of your company.

Click here

Course content

8 Chapters • 33 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

C# Language Fundamentals Refresher

  • Lesson 1 • Modern C# Syntax Essentials

    Introduces pattern matching basics, records, init-only properties, and top-level statements. Ensures fluency with contemporary C# idioms used in all later examples.

  • Lesson 2 • Memory Management and Garbage Collection

    Explains the .NET GC generations, finalization, and the IDisposable pattern. Prepares learners to write resource-safe code throughout the course.

  • Lesson 3 • Object-Oriented Principles in C#

    Examines inheritance, polymorphism, encapsulation, and abstraction in C# syntax. Provides the OOP foundation that advanced patterns and generics chapters depend on.

  • Lesson 4 • Type System Deep Dive

    Covers value types, reference types, boxing, and the unified type hierarchy. Establishes the memory model understanding required for performance-focused chapters ahead.

Chapter 2See details

Generics and the Type Parameter System

  • Lesson 1 • Covariance and Contravariance

    Explains out and in variance annotations on generic interfaces and delegates. Enables safe assignment compatibility between related generic types.

  • Lesson 2 • Generic Collections and Algorithms

    Surveys List, Dictionary, HashSet, and immutable collection types with generic algorithms. Connects generic theory to everyday data-structure usage.

  • Lesson 3 • Generic Types and Methods

    Defines generic classes, structs, interfaces, and methods with type parameters. Builds the vocabulary for all constraint and variance topics that follow.

  • Lesson 4 • Type Constraints

    Covers where clauses including class, struct, new(), interface, and unmanaged constraints. Enables precise API contracts that prevent misuse at compile time.

Chapter 3See details

Delegates, Events, and Functional Patterns

  • Lesson 1 • Lambda Expressions and Closures

    Explains lambda syntax, captured variables, closure semantics, and common pitfalls. Directly enables LINQ and functional composition covered in later sections.

  • Lesson 2 • Functional Composition Techniques

    Introduces currying, partial application, pipeline patterns, and expression trees as data. Prepares learners for advanced LINQ and metaprogramming topics ahead.

  • Lesson 3 • Events and the Observer Pattern

    Teaches event declaration, EventHandler conventions, custom event accessors, and thread safety. Connects delegate mechanics to the standard .NET event model.

  • Lesson 4 • Delegates and Multicast Invocation

    Covers delegate declaration, instantiation, multicast chaining, and invocation semantics. Establishes the runtime model that lambdas and events are built upon.

Chapter 4See details

LINQ and Query Composition

  • Lesson 1 • Core LINQ Operators

    Surveys filtering, projection, ordering, grouping, joining, and aggregation operators. Provides the operator vocabulary used in every real-world LINQ query.

  • Lesson 2 • IQueryable and Expression Trees

    Explains how IQueryable translates LINQ to remote queries via expression trees. Bridges in-memory LINQ to ORM and remote data-source scenarios.

  • Lesson 3 • Custom LINQ Operators and Optimisation

    Teaches writing custom extension methods, lazy sequences, and avoiding N+1 patterns. Completes LINQ mastery with performance-aware query design.

  • Lesson 4 • LINQ Fundamentals and Execution Model

    Covers query syntax vs. method syntax, deferred vs. immediate execution, and iterator semantics. Establishes the mental model needed to avoid common LINQ performance mistakes.

Chapter 5See details

Asynchronous Programming with async/await

  • Lesson 1 • Advanced Async Patterns

    Teaches async streams, IAsyncEnumerable, parallel async fan-out, and async initialisation. Extends async skills to streaming and concurrent scenarios.

  • Lesson 2 • async and await Mechanics

    Explains compiler-generated state machines, SynchronizationContext, and ConfigureAwait. Enables correct async code in UI, ASP.NET, and library contexts.

  • Lesson 3 • Task-Based Asynchronous Pattern

    Introduces Task, Task<T>, and the TAP contract including status, continuation, and exceptions. Provides the foundation for all async/await mechanics that follow.

  • Lesson 4 • Cancellation and Timeout Patterns

    Covers CancellationToken, CancellationTokenSource, linked tokens, and timeout composition. Ensures learners can build cooperative cancellation into any async workflow.

Chapter 6See details

Concurrency, Threading, and Parallel Programming

  • Lesson 1 • Synchronisation Primitives

    Examines lock, Monitor, Mutex, Semaphore, ReaderWriterLockSlim, and Interlocked. Provides the tools to prevent data races and coordinate shared-state access.

  • Lesson 2 • Task Parallel Library and PLINQ

    Teaches Parallel.For, Parallel.ForEach, PLINQ, and data-parallelism partitioning strategies. Enables efficient CPU-bound workload distribution across cores.

  • Lesson 3 • Threading Fundamentals

    Covers Thread creation, ThreadPool, thread lifecycle, and thread-local storage. Establishes the low-level threading model that higher abstractions are built upon.

  • Lesson 4 • Concurrent Collections

    Surveys ConcurrentDictionary, ConcurrentQueue, ConcurrentBag, and BlockingCollection. Replaces manual locking with purpose-built thread-safe data structures.

  • Lesson 5 • Avoiding Concurrency Bugs

    Identifies deadlocks, livelocks, race conditions, and memory visibility issues with mitigation strategies. Completes the concurrency chapter with defensive design practices.

Chapter 7See details

Reflection, Attributes, and Metaprogramming

  • Lesson 1 • Reflection API Fundamentals

    Covers Assembly, Type, MethodInfo, PropertyInfo, and dynamic member invocation. Provides the runtime introspection tools used in frameworks and serialisers.

  • Lesson 2 • Dynamic Code with Expression Trees

    Builds on earlier expression tree knowledge to compile delegates at runtime for high performance. Bridges reflection's flexibility with near-native execution speed.

  • Lesson 3 • Source Generators

    Introduces Roslyn-based incremental source generators, syntax receivers, and generated partial classes. Shifts metaprogramming from runtime to compile time for zero-overhead abstractions.

  • Lesson 4 • Custom Attributes

    Teaches defining, applying, and reading custom attributes with AttributeUsage control. Enables declarative metadata-driven designs used in validation and mapping frameworks.

Chapter 8See details

Performance Optimisation and Unsafe Code

  • Lesson 1 • Profiling and Benchmarking

    Applies BenchmarkDotNet, memory profilers, and ETW traces to measure and validate optimisations. Closes the performance chapter with a rigorous measurement-driven workflow.

  • Lesson 2 • Unsafe Code and Pointers

    Teaches the unsafe keyword, fixed statements, pointer arithmetic, and unmanaged memory. Enables interop with native libraries and maximum-performance inner loops.

  • Lesson 3 • Span<T> and Memory<T>

    Covers Span<T> as a stack-only slice, Memory<T> for async contexts, and MemoryPool<T>. Enables zero-copy buffer manipulation across parsing and I/O scenarios.

  • Lesson 4 • Reducing Allocations

    Identifies allocation hotspots using object pooling, ArrayPool<T>, struct design, and ref returns. Directly reduces GC pressure in high-throughput applications.

Certification

Your valid completion certificate

This course is for you:

  • Mid-level C# developer: ready to tackle complex, production-grade engineering challenges.

  • Backend .NET engineer: wants deeper command of the runtime and language internals.

  • Software developer switching to C#: brings experience and needs to close advanced gaps.

  • Freelance developer: building sophisticated client applications requiring high-performance code.

  • Computer science graduate: entering the workforce and aiming for senior-level readiness.

  • Technical lead: seeking to standardise advanced C# practices across their engineering team.

What our students say

Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of my interest without needing to change platforms... I thank you for everything you do, I've already recommended you to other people...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the way videos are presented and transcribed, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast, simple to use. The diversity of content and complementary videos help a lot with learning.
André Felipe
André FelipePrompt Engineering Student

Top trainings

FAQ

Who is Dedika?

Is the certificate valid in Nigeria?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course