← All Courses
Learn C#
Coming SoonGames, enterprise apps, and web with one language
C# .NET Unity ASP.NET Blazor
Coming Soon
Backend (ASP.NET), desktop (WPF/MAUI), game development (Unity), and web frontend (Blazor) — C# and .NET cover an enormous surface area from a single language ecosystem.
This course builds from language fundamentals through enterprise patterns to shipping games and cross-platform apps.
Start Here — Learning Roadmap
A suggested path from zero to mastery. Follow these steps in order:
- Learn C# Fundamentals — Start with variables, types, control flow, classes, and OOP using Microsoft Learn or freeCodeCamp’s C# certification
- Build Console Applications — Create small CLI programs to practice file I/O, collections, LINQ, and error handling
- Understand .NET Ecosystem — Learn about the .NET runtime, project structure, NuGet packages, and the dotnet CLI
- Learn ASP.NET Core — Build web APIs and MVC applications, understand middleware, dependency injection, and routing
- Explore Entity Framework Core — Connect to databases with EF Core, learn migrations, LINQ queries, and the repository pattern
- Pick a Specialization — Choose game dev (Unity), desktop (MAUI/WPF), web frontend (Blazor), or stay backend-focused
- Study Design Patterns — Master dependency injection, CQRS, clean architecture, and domain-driven design in .NET
- Write Tests — Learn xUnit/NUnit for unit testing, integration testing with WebApplicationFactory, and mocking
- Build Production Apps — Deploy ASP.NET apps to Azure or containers, implement authentication, caching, and logging
- Go Advanced — Study async/await internals, Span
, source generators, and performance optimization
Official & Core Documentation
- C# Documentation — Microsoft’s official C# language reference and tutorials (Beginner)
- .NET Learning Center — Guided learning paths from Microsoft covering C#, ASP.NET, Blazor, and MAUI (Beginner)
- C# Language Tour — Quick overview of C# syntax, types, and features (Beginner)
- ASP.NET Core Documentation — Official docs for building web apps, APIs, and microservices with C# (Intermediate)
- Unity Learn — Official Unity tutorials and courses for game development with C# (Beginner)
- .NET API Browser — Complete API reference for the entire .NET class library (All levels)
- Blazor Documentation — Official docs for building interactive web UIs with C# instead of JavaScript (Intermediate)
- .NET MAUI Documentation — Cross-platform native UI framework for mobile and desktop apps (Intermediate)
- C# Roadmap — Community-created visual roadmap for C# developers (Beginner)
- ASP.NET Core Roadmap — Step-by-step guide to becoming an ASP.NET Core developer (Intermediate)
GitHub Awesome Lists & Curated Collections
- awesome-dotnet — Comprehensive collection of .NET libraries, tools, frameworks, and software organized by category
- awesome-dotnet-core — Curated list of .NET Core libraries, tools, and frameworks for cross-platform development
- awesome-blazor — Resources for Blazor, the .NET web framework running C# in the browser with WebAssembly
- awesome-unity — Curated list of Unity assets, projects, and resources for game development
- awesome-roslyn — Curated list of Roslyn (.NET compiler platform) resources for code analysis and generation
- awesome-dotnet-performance — .NET performance optimization resources, benchmarks, and tooling
Interactive Courses & Hands-On Platforms
Free Courses
- Foundational C# with Microsoft (freeCodeCamp) — Free, official Microsoft-backed C# curriculum with certification (Beginner)
- Microsoft Learn — C# Path — Free interactive modules from beginner to advanced (Beginner)
- Learn C# (learncs.org) — Free interactive tutorial for learning C# in the browser (Beginner)
- Dometrain — C# for Beginners — Free hands-on course from Nick Chapsas (Beginner)
University & MOOC Courses
- Codecademy Learn C# — Interactive beginner course covering fundamentals (Beginner, Paid)
- C# Fundamentals on Pluralsight — Structured learning path with video instruction (Intermediate, Paid)
- Dometrain — From Zero to Hero Series — Nick Chapsas’ comprehensive .NET course platform (Intermediate, Paid)
- Coursera — .NET Full Stack Developer Specialization — Board of Governors project-based .NET specialization (Intermediate, Paid)
- edX — Introduction to C# (Microsoft) — Microsoft-backed C# introduction on edX (Beginner)
Practice & Challenges
- Exercism C# Track — Mentored coding exercises with community feedback (Beginner)
- Codewars C# — Progressive coding challenges from beginner to expert (All levels)
- LeetCode — Algorithm challenges with C# support for interview preparation (Intermediate)
- HackerRank C# — 30 Days of Code challenge with C# support (Beginner)
- .NET Coding Challenges — Official .NET coding challenges from Microsoft (Beginner)
Video Courses & YouTube Channels
Structured Course Playlists
- Microsoft C# for Beginners — Official 25-part series with Scott Hanselman and David Fowler (Beginner)
- freeCodeCamp — C# Full Course — Comprehensive free C# course for beginners (Beginner)
- dotnet (Official Channel) — Official .NET channel with release announcements and feature deep dives (All levels)
Individual Creators & Channels
- Nick Chapsas — High-quality .NET and C# content covering modern patterns, DDD, and new releases (Intermediate)
- Tim Corey (IAmTimCorey) — Practical C# and .NET tutorials for real-world applications (Beginner)
- Milan Jovanovic — Domain-Driven Design, CQRS, and clean architecture in .NET (Advanced)
- Raw Coding — ASP.NET Core, authentication, and advanced .NET topics (Intermediate)
- Brackeys — Game development tutorials with Unity and C# (archived but still valuable) (Beginner)
- Amichai Mantinband — Clean architecture, DDD, and .NET API design (Advanced)
- Zoran Horvat — Advanced C# patterns, functional programming, and OOP deep dives (Advanced)
- Patrick God — .NET web development tutorials covering Blazor, ASP.NET Core, and Entity Framework (Beginner)
- Coding Droplets — .NET MAUI, Blazor, and WPF desktop development tutorials (Intermediate)
Books & Long-Form Reading
Free Online Books
- Home and Learn C# — Free online course and tutorial for complete beginners (Beginner)
- C# Programming Guide (Microsoft) — Comprehensive free guide covering all C# features (All levels)
- .NET Architecture Guides — Free Microsoft e-books on microservices, DDD, and cloud patterns (Advanced)
- C# Yellow Book — Rob Miles’ free introduction to programming with C# (Beginner)
Essential Paid Books
- C# in Depth — Jon Skeet’s authoritative deep dive into C# language features and evolution (Advanced, Paid)
- Head First C# — Visual, hands-on approach to learning C# through projects (Beginner, Paid)
- C# 12 and .NET 8 — Mark Price’s comprehensive modern C# guide updated annually (Intermediate, Paid)
- Concurrency in C# Cookbook — Stephen Cleary’s guide to async, parallel, and reactive patterns (Advanced, Paid)
- CLR via C# — Jeffrey Richter’s deep dive into the Common Language Runtime (Advanced, Paid)
Community, Practice & News
Forums & Discussion
- r/csharp — Active Reddit community for C# developers
- r/dotnet — Reddit community for .NET ecosystem discussions
- C# Discord — Community Discord server for C# and .NET developers
- Stack Overflow — C# — The largest Q&A archive for C# problems
- .NET Community Standups — Microsoft-hosted live streams with .NET team members
Newsletters & Blogs
- .NET Weekly — Weekly digest of the best .NET articles and tutorials
- The Morning Brew — Daily links round-up for .NET developers
- Andrew Lock’s Blog — In-depth ASP.NET Core and .NET articles
- Steve Gordon’s Blog — .NET internals, performance, and best practices
Package Registries & Ecosystems
- NuGet Gallery — .NET package repository for discovering and sharing libraries
- Unity Asset Store — Marketplace for Unity game development assets, tools, and plugins
- .NET Foundation — Independent organization fostering the .NET open-source ecosystem
Tools & Environments
- Visual Studio — Full-featured IDE with best-in-class C# and .NET support (Community edition is free)
- Visual Studio Code — Lightweight editor with C# Dev Kit extension for .NET development
- JetBrains Rider — Cross-platform .NET IDE with advanced refactoring and analysis (Paid)
- LINQPad — Interactive C# scratchpad for testing queries, expressions, and code snippets
- dotnet CLI — Command-line tools for creating, building, and managing .NET projects
- SharpLab — Online C# compiler showing IL, JIT output, and decompilation
- BenchmarkDotNet — Powerful .NET benchmarking library for performance testing
- dotnet-counters — Performance monitoring tool for .NET applications
- Swagger/Swashbuckle — Auto-generate OpenAPI documentation for ASP.NET Core APIs
- Docker + .NET — Official guidance for containerizing .NET applications
- Azurite — Local Azure Storage emulator for developing against Azure services offline