HOME / CATALOG / C# PROGRAMMING
01
ROADMAP / BEGINNER

C# Programming

36 TOPICS · 35 HOURS · BEGINNER · SCALE 1:4
START CANVAS

A comprehensive learning roadmap for C# — from language fundamentals and object-oriented programming through async patterns, LINQ, and advanced .NET features.


§ SYLLABUS

§ SECTION 01 · LANGUAGE FUNDAMENTALS
  1. 01
    Development Environment & .NET CLI

    Set up the .NET SDK, understand the CLI (dotnet new, build, run), and get comfortable with an IDE like Visual Studio or VS Code. You'll know how to create, compile, and run a C# project from scratch.

  2. 02
    Variables, Data Types & Type System

    Learn value types (int, bool, double, struct) vs. reference types (string, object, class), type inference with var, and nullable value types. You'll understand how C# enforces type safety at compile time.

  3. 03
    Operators & Control Flow

    Master if/else, switch expressions, for/foreach/while loops, and pattern matching basics. You'll be able to write branching and iterative logic fluently.

  4. 04
    Methods & Parameter Passing

    Define methods with return types, understand ref/out/in parameters, optional parameters, and params arrays. You'll know how data flows into and out of methods.

  5. 05
    Arrays, Strings & Spans

    Work with single and multi-dimensional arrays, string manipulation and interpolation, StringBuilder, and ReadOnlySpan<char> for efficient slicing. You'll handle sequential data confidently.

  6. 06
    Fundamentals Complete

    You can write, compile, and run basic C# programs with proper types, control flow, and methods.

§ SECTION 02 · OBJECT-ORIENTED PROGRAMMING
  1. 01
    Classes, Objects & Constructors

    Define classes, create instances, use constructors and initializers, and understand the difference between static and instance members. You'll model real-world entities in code.

  2. 02
    Properties, Encapsulation & Access Modifiers

    Use auto-properties, getters/setters, init-only setters, and access modifiers (public, private, protected, internal) to control visibility. You'll write well-encapsulated types.

  3. 03
    Inheritance & Polymorphism

    Extend classes with inheritance, override virtual methods, use abstract classes, and understand the 'is-a' relationship. You'll leverage polymorphism to write flexible code.

  4. 04
    Interfaces & Abstractions

    Define contracts with interfaces, implement multiple interfaces, and use default interface methods. You'll design code against abstractions rather than concrete types.

  5. 05
    Records, Structs & Value Semantics

    Choose between class, struct, record class, and record struct. Understand value equality, immutability, and when each is appropriate. You'll pick the right type shape for the job.

  6. 06
    OOP Complete

    You can design class hierarchies, use interfaces, and choose appropriate type kinds for your domain models.

§ SECTION 03 · CORE LANGUAGE FEATURES
  1. 01
    Generics & Constraints

    Write type-safe, reusable code with generic classes, methods, and interfaces. Apply constraints (where T : class, new(), IComparable) to express requirements. You'll eliminate duplication without sacrificing safety.

  2. 02
    Collections & Data Structures

    Use List<T>, Dictionary<TKey,TValue>, HashSet<T>, Queue<T>, Stack<T>, and immutable collections. You'll pick the right collection for the right job based on performance and semantics.

  3. 03
    Delegates, Events & Lambdas

    Understand delegate types, multicast delegates, the event keyword, and lambda expressions. You'll implement callbacks, event-driven patterns, and pass behavior as data.

  4. 04
    Exception Handling & Error Strategies

    Use try/catch/finally, create custom exceptions, understand exception filters, and learn when to throw vs. return error results. You'll write code that fails gracefully and communicates errors clearly.

  5. 05
    Enums & Advanced Pattern Matching

    Define enums, use switch expressions with property/positional/relational patterns, and combine patterns with logical operators. You'll write concise, expressive branching logic.

  6. 06
    Core Features Complete

    You're proficient with generics, collections, delegates, and error handling — the day-to-day tools of C# development.

§ SECTION 04 · LINQ & FUNCTIONAL PATTERNS
  1. 01
    LINQ Fundamentals

    Use Where, Select, OrderBy, GroupBy, and aggregate operators on collections. Understand deferred vs. immediate execution. You'll query in-memory data declaratively.

  2. 02
    Advanced LINQ & Query Expressions

    Chain complex queries, use joins, let clauses, SelectMany for flattening, and write custom extension methods that compose with LINQ. You'll handle sophisticated data transformations.

  3. 03
    Functional Patterns in C#

    Use Func<T>/Action<T>, closures, higher-order functions, and immutable data. Understand how C# blends OOP and functional styles. You'll write concise, composable logic.

  4. 04
    LINQ & Functional Complete

    You can transform, filter, and aggregate data fluently using LINQ and functional techniques.

§ SECTION 05 · ASYNCHRONOUS PROGRAMMING
  1. 01
    async/await & Tasks

    Write asynchronous methods with async/await, understand Task and Task<T>, and avoid common pitfalls like async void and deadlocks. You'll write non-blocking code that stays readable.

  2. 02
    Parallel Programming & Concurrency

    Use Task.WhenAll, Parallel.ForEachAsync, channels, and understand thread safety with lock, SemaphoreSlim, and ConcurrentDictionary. You'll safely leverage multiple cores.

  3. 03
    Cancellation & Progress Reporting

    Use CancellationToken to make async operations cancellable and IProgress<T> for reporting. You'll build responsive applications that users can interrupt gracefully.

  4. 04
    Async Complete

    You can write scalable, non-blocking code with proper cancellation and concurrency control.

§ SECTION 06 · ADVANCED C# & .NET
  1. 01
    Nullable Reference Types & Safety

    Enable nullable analysis, annotate your APIs with ?, understand the null-forgiving operator, and eliminate NullReferenceExceptions at compile time. You'll write null-safe code by default.

  2. 02
    Span<T>, Memory<T> & Performance

    Use Span<T> and Memory<T> for zero-allocation slicing, understand stackalloc, ArrayPool, and benchmarking with BenchmarkDotNet. You'll write high-performance code when it matters.

  3. 03
    Reflection & Attributes

    Read and create custom attributes, inspect types at runtime, and understand the cost of reflection. You'll build metadata-driven features and understand frameworks that use them.

  4. 04
    Source Generators & Compile-Time Metaprogramming

    Understand how source generators produce code at compile time, replacing many reflection-based patterns. You'll know when and why to use them for performance and type safety.

  5. 05
    Advanced C# Complete

    You understand nullable safety, performance tools, and metaprogramming techniques that power modern .NET libraries.

§ SECTION 07 · ECOSYSTEM & PRACTICES
  1. 01
    Dependency Injection & IoC

    Use the built-in Microsoft.Extensions.DependencyInjection container, register services with appropriate lifetimes (transient, scoped, singleton), and write testable, loosely-coupled code.

  2. 02
    Unit Testing & TDD

    Write tests with xUnit or NUnit, use Moq or NSubstitute for mocking, and practice test-driven development. You'll verify your code works and catch regressions early.

  3. 03
    NuGet Packages & Project Management

    Consume and publish NuGet packages, manage dependencies, understand project files (.csproj), and use Directory.Build.props for multi-project solutions. You'll manage real-world .NET solutions.

  4. 04
    File I/O & Serialization

    Read and write files with StreamReader/StreamWriter, serialize data with System.Text.Json, and understand async file operations. You'll persist and exchange data in standard formats.

  5. 05
    Roadmap Complete

    You have a solid, practical understanding of C# — from fundamentals through advanced features and real-world practices. You're ready to build production applications.