Skip to main content
QUESTLINE

C# — Intermediate

Move from C# fundamentals to building real applications: delegates, events, generics, LINQ, async, concurrency, dependency injection, HTTP, JSON, data access, testing, architecture, performance, and security — every concept practiced and graded in a sandbox running the real .NET SDK, ending in a milestone-built Task Management Engine capstone.

📜 70 lessons⚡ 0 challenges⏳ ~23.5 hours⭐ Beginner — no experience needed
Prerequisite course:C# — Beginner

Who this course is for

Learners who have finished C# — Beginner (or know its material) and want to design, structure, test, debug, optimize, and build medium-sized C#/.NET applications.

What you will be able to do

  • Use advanced C# type-system and language features deliberately
  • Design reusable abstractions with delegates, events, generics, and LINQ
  • Write async and concurrent code correctly — cancellation included
  • Build layered applications with DI, configuration, HTTP, JSON, and data access
  • Test, refactor, and harden code like a professional .NET developer
  • Ship a milestone-built Task Management Engine capstone
CHAPTER 1· 4 Waypoints

The Type System Deep Dive

Value vs reference semantics, boxing, the nullable machinery, and pattern matching as an everyday design tool.

CHAPTER 2· 4 Waypoints

Methods & Parameters Mastery

The full parameter-passing toolbox, overload resolution as the compiler sees it, and recursion you can defend.

CHAPTER 3· 4 Waypoints

Delegates, Lambdas & Closures

Methods as values: the shapes, composition pipelines, capture semantics, and the bugs capture semantics cause.

CHAPTER 4· 3 Waypoints

Events & the Observer Pattern

The event keyword as encapsulated multicast, EventHandler contracts, custom event args, and lifetime hygiene.

CHAPTER 5· 3 Waypoints

Generic Design

Constraints that document requirements, generic algorithms, and covariance/contravariance without tears.

CHAPTER 6· 3 Waypoints

Collections & Complexity

Choosing structures by their operation costs, from Dictionary to Queue — with the Big-O to defend the choice.

CHAPTER 7· 3 Waypoints

Iterators & Lazy Pipelines

yield as a state machine, deferred execution you can observe, and pipelines that touch data once.

CHAPTER 8· 3 Waypoints

LINQ Deep Cuts

Grouping, joining, aggregating, and windowing sequences — and the execution model that decides whether it runs once or five times.

CHAPTER 9· 4 Waypoints

Asynchronous Programming

Tasks, async/await, fan-out with WhenAll, cancellation, timeouts, and async streams — without the classic traps.

CHAPTER 10· 3 Waypoints

Concurrency Fundamentals

Threads, races, locks, and atomic operations — the vocabulary of code that does several things at once, without the data corruption.

CHAPTER 11· 3 Waypoints

Dependency Injection

Invert dependencies behind interfaces, inject them through constructors, and wire lifetimes in one composition root.

CHAPTER 12· 3 Waypoints

Configuration & Options

Layer config from files and environment variables into validated, strongly-typed options — and keep secrets out of source.

CHAPTER 13· 3 Waypoints

HTTP & API Clients

Requests, responses, status codes, and resilient clients — deterministic hands-on with a literal HttpMessageHandler.

CHAPTER 14· 3 Waypoints

JSON & Serialization

System.Text.Json end to end: options, converters, malformed input, and the round-trip fidelity mindset.

CHAPTER 15· 3 Waypoints

Data Access Fundamentals

Connections, commands, parameters, transactions — the relational vocabulary every data layer stands on.

CHAPTER 16· 3 Waypoints

Testing & Mocking

Build a test framework from scratch, hand-roll test doubles, and isolate state — understand what xUnit does before you ever need it.

CHAPTER 17· 3 Waypoints

Clean Code & Refactoring

Name things honestly, kill nesting with guard clauses, split god methods — and refactor without changing behavior, guarded by tests.

CHAPTER 18· 3 Waypoints

Design Patterns in Practice

Strategy, Factory, Builder, Adapter, Decorator, Repository, Observer — each taught as a problem first, with tradeoffs and when NOT to use it.

CHAPTER 19· 3 Waypoints

Architecture Fundamentals

Layers, dependency direction, DTOs at boundaries, a composition root — and spotting the wrong-direction dependency that makes code untestable.

CHAPTER 20· 3 Waypoints

Performance Fundamentals

Where allocations actually come from, why collection choice dominates cost, how LINQ pipelines double their work — and why you measure before you touch anything.

CHAPTER 21· 3 Waypoints

Security Fundamentals

Where real-world C# code gets breached: string-built queries, unresolved paths, plaintext passwords, and secrets in logs — and the defensive shape for each.

CHAPTER 22· 3 Waypoints

Capstone: Task Management Engine

The whole course in one system: domain and validation, a repository, a service layer with authorization, reporting, persistence, and dependency wiring — built milestone by milestone.