🎮

    C# Programming

    Build games, apps, and enterprise software with C# — 50 lessons from first program to advanced .NET architecture.

    Sign in to track your progress through this course

    👋 New to C#? Start here — no experience needed.

    C# powers Unity games, Windows apps, and enterprise backends. Start with Lesson 1 and build from scratch.

    Start Your First Lesson
    1

    Beginner Track

    ✦ Start Here ~2–3 hours

    Learn C# syntax, types, control flow, and loops — everything you need to write your first programs.

    Introduction to C#

    What C# and .NET are, and how to write and run your first program

    Start

    Variables & Data Types

    int, string, bool, double — declare and use the core C# types

    Start

    Operators

    Arithmetic, comparison, logical, and null-coalescing operators in C#

    Start

    Control Flow

    Control your program's logic with if, else, switch, and ternary expressions

    Start

    Loops

    Iterate with for, foreach, while, and do-while loops

    Start
    2

    Intermediate Track

    ~3–4 hours

    Write methods, build with OOP and inheritance, use collections, and handle exceptions professionally.

    Methods

    Write reusable methods, use optional parameters, and understand scope

    Start

    Object-Oriented Programming

    Create classes with properties, constructors, and encapsulation

    Start

    Inheritance & Polymorphism

    Extend base classes and override methods with virtual and override

    Start

    Collections

    Work with List<T>, Dictionary<K,V>, Stack, Queue, and more

    Start

    Exception Handling

    Handle errors gracefully with try-catch-finally and custom exceptions

    Start
    3

    Expert Track

    ~2–3 hours

    Master LINQ, async/await, delegates, events, and file I/O — the hallmarks of a proficient C# developer.

    LINQ

    Query collections and databases with clean, readable LINQ expressions

    Start

    Async & Await

    Write responsive, non-blocking code with async/await and Task<T>

    Start

    Delegates & Events

    Build event-driven programs with delegates, Action, Func, and events

    Start

    File I/O

    Read and write files, streams, and structured data with System.IO

    Start
    4

    Advanced Track

    ~12–16 hours

    Enterprise .NET for senior developers — architecture, performance, security, testing, and microservices.

    Advanced LINQ Queries & Optimization

    GroupBy, SelectMany, deferred execution, and LINQ performance tuning

    Start

    Deep Dive Into C# Delegates & Multicast Delegates

    Delegate internals, multicast chaining, and Func/Action composition

    Start

    Events: Advanced Patterns & Custom EventArgs

    Custom EventArgs, weak event patterns, and event-driven architecture

    Start

    Expression Trees: Building Dynamic Logic at Runtime

    Build and compile expression trees for dynamic query and code generation

    Start

    Reflection & Dynamic Type Inspection

    Inspect assemblies, types, and members dynamically with the Reflection API

    Start

    Generics: Constraints, Variance & Advanced Use Cases

    Type constraints, covariance, contravariance, and generic patterns

    Start

    Asynchronous Programming Internals (Tasks, Schedulers, States)

    State machine compilation, SynchronizationContext, and task schedulers

    Start

    Parallel Programming with PLINQ & Parallel.For

    Parallelise CPU-bound workloads safely with PLINQ and Parallel class

    Start

    Memory Management & Garbage Collector Internals

    Generational GC, Large Object Heap, GC modes, and finalizers

    Start

    Unsafe Code, Span<T>, and High-Performance C#

    Use Span<T>, Memory<T>, and unsafe code for zero-allocation hot paths

    Start

    IDisposable, Finalizers & Resource Management

    Implement IDisposable correctly, use using declarations, and avoid leaks

    Start

    Advanced OOP Patterns (Factory, Strategy, Observer, DI)

    Apply GoF patterns and DI principles in real C# applications

    Start

    Dependency Injection Internals in .NET

    How .NET DI works, service lifetimes, and custom DI containers

    Start

    Logging Architecture (ILogger, Providers, Serilog)

    Structured logging with ILogger, Serilog sinks, and log enrichment

    Start

    Working with Files: Streams, Buffers, Pipelines

    High-performance I/O with StreamReader, BufferedStream, and System.IO.Pipelines

    Start

    Advanced JSON Processing with System.Text.Json

    Serialise, deserialise, and customise JSON processing without Newtonsoft

    Start

    Building REST APIs with ASP.NET Core (Advanced)

    Minimal APIs, controller patterns, model binding, and versioning

    Start

    Middleware, Filters & Custom Attributes in ASP.NET

    Write custom middleware, action filters, and attributes for cross-cutting concerns

    Start

    Entity Framework Core Internals & Performance

    How EF Core tracks entities, batches queries, and generates SQL

    Start

    EF Core Relationships, Tracking & Migrations Mastery

    One-to-many, many-to-many, owned entities, and migration strategies

    Start

    Repository Pattern & Unit of Work (Advanced)

    Implement repository and unit of work patterns in clean .NET architecture

    Start

    Authentication & Authorization with JWT (Advanced)

    Issue, validate, and refresh JWTs in ASP.NET Core APIs

    Start

    Role-Based, Policy-Based & Claims-Based Security

    Implement RBAC, custom policies, and claims transformation in .NET

    Start

    Caching Strategies (MemoryCache, Distributed Cache, Redis)

    Add in-memory and distributed caching with IMemoryCache and Redis

    Start

    Real-Time Communication with SignalR

    Build live dashboards and chat with SignalR hubs and JavaScript clients

    Start

    WebSockets & Streaming Data in .NET

    Handle raw WebSocket connections and stream large data in .NET

    Start

    Unit Testing Mastery (xUnit, NUnit, MSTest)

    Write clean, maintainable tests with xUnit, NUnit, and assertions

    Start

    Mocking Frameworks (Moq, NSubstitute, FakeItEasy)

    Mock dependencies with Moq, set up expectations, and verify calls

    Start

    Test-Driven Development in Real Projects

    Apply Red-Green-Refactor TDD to real C# feature development

    Start

    Clean Architecture in .NET (Full Deep Dive)

    Layer your .NET app into Domain, Application, Infrastructure, and Presentation

    Start

    Domain-Driven Design (Aggregates, Value Objects, Repositories)

    Apply DDD tactical patterns to model complex business domains in C#

    Start

    Microservices in .NET (gRPC, Messaging, Resilience)

    Build .NET microservices with gRPC, MassTransit, Polly, and Docker

    Start

    Background Jobs with Hangfire & Quartz.NET

    Schedule and run background tasks reliably with Hangfire and Quartz.NET

    Start

    Performance Profiling & Benchmarking (BenchmarkDotNet)

    Measure and optimise .NET performance with BenchmarkDotNet and dotTrace

    Start

    Final Project — Enterprise-Grade C# Application

    Build a complete enterprise-style application applying everything you've learned

    Start

    Cookie & Privacy Settings

    We use cookies to improve your experience, analyze traffic, and show personalized ads. You can manage your preferences below.

    By clicking "Accept All", you consent to our use of cookies for analytics and personalized advertising. You can customize your preferences or reject non-essential cookies.

    Privacy PolicyTerms of Service