2026 · active
Learn .NET
A structured path from C# fundamentals to production-ready backend engineering.
The problem with topic lists
Learn .NET is a long-running curriculum for rebuilding knowledge from first principles. It connects language fundamentals and object-oriented design to runtime behavior, memory, concurrency, web APIs, persistence, security, architecture, testing, and delivery.
The repository exists because topic coverage is not connected understanding. Knowing C# syntax does not automatically explain allocation, cancellation, dependency lifetimes, query behavior, HTTP boundaries, or what a service needs after deployment.
Curriculum architecture
The path is sequential enough to expose prerequisites and cyclical enough to revisit them. A production exercise often reveals that a language or runtime model was incomplete.
The learning loop
Each topic moves through understanding, implementation, explanation, and application. The goal is not to remember an API for an interview; it is to form mental models that survive framework changes.
Question -> prediction -> minimal experiment -> test -> explanation
-> project integration -> review
The experiment isolates behavior; the project exposes interactions. A minimal async sample can explain suspension, while an API exercise reveals cancellation propagation, dependency limits, and telemetry.
Project ladder
| Stage | Primary evidence |
|---|---|
| Language exercise | predicted and tested behavior |
| Focused library | deliberate API and error model |
| HTTP API | transport and application boundaries |
| Persistent service | queries, transactions, migrations, concurrency |
| Operated workload | identity, telemetry, deployment, recovery |
Each stage introduces a constraint while keeping earlier decisions visible.
Important decisions
- Prefer executable examples over disconnected notes.
- Record why an abstraction exists, not only how its API is called.
- Treat failure, cancellation, and observability as part of the exercise.
- Keep Azure as an operational environment, not a decorative final chapter.
- Revisit material as the supported .NET platform changes.
Boundaries and evidence
Learn .NET is an evolving repository, not a certification curriculum or a claim that every area is complete. Modules vary in maturity. Evidence is the public source, exercises, notes, and tests. Version-sensitive recommendations must be checked against the target SDK before they become current guidance.
Current direction
The repository grows toward complete backend systems: ASP.NET Core services, EF Core persistence, authentication and authorization, maintainable architecture, automated testing, and Azure delivery. The goal is one vertical slice that can be reasoned about from C# semantics through production operation.