
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.
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.
Course content
8 Chapters • 33 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsC# Language Fundamentals Refresher
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 2HideHide detailsSee detailsGenerics and the Type Parameter System
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 3HideHide detailsSee detailsDelegates, Events, and Functional Patterns
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 4HideHide detailsSee detailsLINQ and Query Composition
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 5HideHide detailsSee detailsAsynchronous Programming with async/await
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 6HideHide detailsSee detailsConcurrency, Threading, and Parallel Programming
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 7HideHide detailsSee detailsReflection, Attributes, and Metaprogramming
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 8HideHide detailsSee detailsPerformance Optimisation and Unsafe Code
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.
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...

I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.

I like the content and the way videos are presented and transcribed, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos help a lot with learning.

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




















