Code Crunch Labs · Tier IISub-brand · Sharp15 weeks · intensiveGPL-3.0

Crunch Sharp.

Fifteen weeks that turn a working Python engineer into a production-ready C# and .NET engineer. We treat C# as what it is in 2026 — a modern, cross-platform, open-source language whose runtime competes head-to-head with the JVM and Go. You finish able to ship an ASP.NET Core service, a MAUI client, a Blazor admin, and a small Unity gameplay layer — and to talk about the runtime with the people who maintain it.

15weeks
Program length
540hrs
Total workload
15+1
Labs + capstone
$0
Tuition · always

§ I · The Program

C# that ships.

Crunch Sharp is the C# and .NET engineering specialization of the Code Crunch academy — the Microsoft-stack track of the Crunch Labs tier, authored in 2026 for engineers who want the modern .NET runtime rather than the 2010s memory of it. It is open-source-first by design: VS Code with the C# Dev Kit and JetBrains Rider Community are the default editors, the dotnet CLI is the default build tool, and the curriculum runs end-to-end on macOS and Linux.

You write ASP.NET Core 9 Minimal APIs with EF Core, Identity, JWT, and OIDC. You ship a .NET MAUI mobile client that signs in, syncs offline, and consumes a typed gRPC contract. You build a Blazor Auto admin with MudBlazor. You profile hot paths with Span<T>, ArrayPool<T>, and Native AOT. You containerize with multi-stage Docker, you deploy with GitHub Actions, and you write the runbook your future self will thank you for. Visual Studio is acknowledged but never required.

“One deployable system. Three clients. One contract.”— Crunch Sharp, course syllabus

§ II · Who It’s For

Four engineers, one runtime.

Sharp is opinionated about its audience. C1 (Code Crunch Convos) is the floor — you should be comfortable with Python functions, classes, generators, and async before Week 1.

No. 01

The Python Engineer

Shipped Flask, FastAPI, or Django at work. Wants a statically typed second language with first-class tooling. Picked C# because the runtime story is cleaner and EF Core is one of the best ORMs ever written.

No. 02

The Microsoft-Stack Bootcamp Grad

Insurance, banking, healthcare, defense, and most mid-market SaaS run on .NET. Finished C1 and wants a credential that opens those doors without eight more months of saturated JavaScript bootcamps.

No. 03

The Unity Gameplay Programmer

Writes MonoBehaviour scripts every day. Has never touched async/await, never used LINQ deliberately, never written a unit test. C9 closes the gap so you can build the server your game has always needed.

No. 04

The Cross-Platform Backend Engineer

Ships a REST API in Node, Python, or Go today, and needs one mobile codebase for iOS and Android without the React Native tax. MAUI plus ASP.NET Core is the most efficient stack on the market for a small team.

§ III · Four Phases

From the type system to a deployed fleet.

The arc of the program is composed in four phases — building from the language and the runtime outward to a polyglot capstone with three clients sharing one contract.

Phase I · Wk. 01—04

Foundations

The language, the runtime, and the standard library. The CLR, JIT, and GC. Modern C# — records, pattern matching, nullable refs, primary constructors. LINQ, async/await, channels, DI. By Week 4 the language feels ordinary.

Phase II · Wk. 05—08

Backend & Data

ASP.NET Core 9 Minimal APIs and MVC. EF Core with PostgreSQL plus Dapper for hot queries. Identity, JWT, OIDC, resource-based authorization. SignalR, background workers, the outbox pattern, and Polly resilience.

Phase III · Wk. 09—12

Cross-platform & Performance

gRPC and gRPC-Web as typed contracts. .NET MAUI for iOS, Android, macOS, and Windows. Blazor Server, WASM, and Auto with MudBlazor. Span<T>, ArrayPool<T>, BenchmarkDotNet, Native AOT, source generators, and a Unity gameplay intro.

Phase IV · Wk. 13—15

Capstone

Polyglot Workshop integration. WebApplicationFactory<T> and Testcontainers for integration tests. Serilog and OpenTelemetry for observability. Multi-stage Docker, GitHub Actions, Azure Container Apps free tier, runbook, and live demo.

§ IV · The Curriculum

Fifteen weeks, week by week.

Each entry corresponds to a folder in the GitHub repository with lecture notes, a lab, a reading and quiz, a mini-project, and a peer review. Detailed acceptance criteria live in the syllabus.

01

The C# Type System and the .NET Runtime

Value vs reference types · struct vs class · nullable reference types · record and record struct · dotnet new, build, run, test.

Mini-project 01

Ledger CLI — double-entry accounting with immutable records

02

Generics, Collections, and LINQ

Generic types and methods · where constraints · List, Dictionary, HashSet, ImmutableArray, FrozenDictionary · deferred execution · IEnumerable vs IQueryable.

Mini-project 02

Repo Stats — author-by-month commit stats over libgit2sharp

03

async/await, Tasks, and Channels

Task, ValueTask, the state machine · ConfigureAwait · CancellationToken · IAsyncEnumerable · System.Threading.Channels · deadlocks to avoid.

Mini-project 03

Crawler — bounded concurrent crawler with Channel and graceful shutdown

04

OOP, SOLID, and Dependency Injection

Classes, interfaces, primary constructors · SOLID, briefly and honestly · Microsoft.Extensions.DependencyInjection · options pattern · structured logging.

Mini-project 04

Notifier — pluggable transport library wired through MS.DI

05

ASP.NET Core 9 Minimal APIs and MVC

WebApplication builder · route groups · model binding, validation, problem details · OpenAPI generation · middleware pipeline order.

Mini-project 05

Sharp Notes API — Minimal API + Razor Pages moderation

06

Entity Framework Core and Dapper

DbContext, change tracking, migrations · IQueryable translation · Dapper as a performance escape hatch · SQLite locally, PostgreSQL in production.

Mini-project 06

Sharp Notes Persistence — EF Core audit log + Dapper tag search

07

Authentication, Authorization, and Identity

ASP.NET Core Identity · cookie vs JWT bearer · OIDC with Keycloak · authorization policies and requirement handlers · CSRF, CORS, secure-cookie defaults.

Mini-project 07

Sharp Notes Auth — Identity + JWT + Keycloak OIDC + RequireOwner

08

Real-time with SignalR + Background Work

SignalR hubs and groups · Redis backplane · BackgroundService and queued work · the outbox pattern · Polly retry, circuit breaker, timeout, bulkhead.

Mini-project 08

Sharp Notes Live — SignalR collaboration + outbox-driven @-mentions

09

gRPC, gRPC-Web, and Typed Contracts

Protobuf and .proto codegen · unary, server-streaming, client-streaming, bidirectional · gRPC-Web for browsers · Refit for typed REST · service versioning.

Mini-project 09

Notes Contract — shared .proto + generated client library

10

.NET MAUI: Cross-platform Mobile and Desktop

Single-project model · XAML and MVU · CommunityToolkit.Mvvm source generators · navigation and DI · partial classes for platform code · SQLite-net-pcl.

Mini-project 10

Sharp Notes Mobile — MAUI app with OIDC, gRPC, offline-first SQLite

11

Blazor (Server + WASM) and MAUI Blazor Hybrid

Blazor Server vs WASM vs Auto in .NET 9 · components, render modes, JS interop · MudBlazor and the amethyst theme · MAUI Blazor Hybrid · auth state in WASM.

Mini-project 11

Sharp Notes Admin — Blazor Auto + MudBlazor over gRPC-Web

12

Performance, Source Generators, and Unity

Span<T>, Memory<T>, ref struct · ArrayPool, MemoryPool · BenchmarkDotNet · Native AOT · source generators · Unity MonoBehaviour and coroutines.

Mini-project 12

Hot Path — Span/pool rewrite + Native AOT CLI + Unity NamedPipes scene

13

Capstone Build Week

Vertical-slice delivery · integration tests with WebApplicationFactory<T> · Testcontainers for PostgreSQL and Keycloak · Serilog · OpenTelemetry intro.

Capstone milestone

Integration baseline — three clients green in CI against one contract

14

Capstone Harden Week

Threat modeling at the API boundary · OWASP API Top 10 in .NET · MediatR for handlers · AutoMapper where it earns its keep · logs, metrics, traces, exemplars.

Capstone milestone

Production polish — auth-covered tests + Grafana / Loki / Tempo

15

Capstone Deploy & Present

Multi-stage Dockerfiles for ASP.NET Core and Native AOT · GitHub Actions pipelines · Azure Container Apps free tier · release notes, runbook, on-call basics.

Capstone

Polyglot Workshop — live demo + runbook + portfolio review

§ V · The Toolchain

Open-source first, vendor-aware.

Every primary tool below is free. Visual Studio is acknowledged but never required — VS Code with the C# Dev Kit and JetBrains Rider Community are the defaults, and the curriculum runs end-to-end on macOS and Linux.

Runtime
.NET 9 · C# 13
MIT · cross-platform
Web
ASP.NET Core 9
Minimal APIs · MVC · Razor
Data
EF Core · Dapper
PostgreSQL · SQLite
Mobile
.NET MAUI
iOS · Android · macOS · Windows
Web UI
Blazor · MudBlazor
Server · WASM · Auto
RPC
gRPC · gRPC-Web
typed contracts via protobuf
Resilience
Polly · MediatR
retry · circuit breaker · CQRS
Real-time
SignalR
hubs · Redis backplane
Observability
Serilog · OpenTelemetry
structured logs · traces · metrics
Tests
xUnit · Testcontainers
FluentAssertions · NSubstitute
Container
Docker · Azure Container Apps
free tier · multi-stage builds
CI/CD
GitHub Actions
build · test · publish · deploy

§ VI · Skills You Will Carry

What you walk away with.

By the end of Week 15, you are able to do each of the following — credibly, in a real codebase, in front of a real reviewer.

  • Read and write modern idiomatic C# — records, pattern matching, nullable refs, required members, primary constructors, collection expressions.
  • Use async/await correctly — including ValueTask, IAsyncEnumerable, Channel<T>, and cancellation tokens — without deadlocking on .Result.
  • Pick the right collection for the job — List, Dictionary, FrozenDictionary, ImmutableArray — and justify it.
  • Model a domain with LINQ over both IEnumerable and IQueryable, and know which one you are in at any given moment.
  • Design and ship an ASP.NET Core 9 Minimal API with EF Core, DI, and a real authentication layer (Identity plus JWT or OIDC).
  • Model a relational schema in EF Core and know when to bypass it for Dapper safely.
  • Stand up production-grade auth with Identity, JWT, OIDC via Keycloak, and resource-based authorization policies.
  • Ship real-time features with SignalR that survive reconnects, plus background workers with an outbox.
  • Make resilience a habit with Polly — retry, circuit breaker, timeout, bulkhead — on every outbound call.
  • Author a clean protobuf contract and generate typed clients for MAUI and Blazor.
  • Build cross-platform mobile and desktop clients with .NET MAUI, sharing a typed contract with the backend.
  • Decide between Blazor Server, WASM, and Auto with confidence, and build a credible admin UI in MudBlazor.
  • Profile hot paths with BenchmarkDotNet, then optimize with Span<T>, ArrayPool<T>, and Native AOT.
  • Drop into a Unity gameplay codebase and contribute idiomatic, testable scripts that respect the component model.
  • Write tests that catch regressions — xUnit, FluentAssertions, NSubstitute, and integration tests over WebApplicationFactory<T> and Testcontainers.
  • Take a .NET service from dotnet new to a live URL with one push — multi-stage Docker, GitHub Actions, Azure Container Apps, and a runbook.

§ VII · The Capstone

One backend. Three clients. One contract.

Weeks 13–15 replace the weekly mini-project with capstone milestones. Architecture diagram, live deploy, integration tests, runbook. The capstone is graded on contract integrity and operability — not on visual polish.

Capstone Brief

Polyglot Workshop — ASP.NET Core + MAUI + Blazor over one gRPC contract

A workshop / classroom platform built three ways from one source of truth: an ASP.NET Core 9 backend, a .NET MAUI mobile client, and a Blazor admin dashboard, all consuming a single typed gRPC contract. Instructors create lessons, learners enroll, both submit and review exercises, and an analytics surface aggregates progress.

  • Backend: Minimal APIs plus a gRPC service mirroring the domain, EF Core (PostgreSQL), Dapper for analytics, ASP.NET Identity plus OIDC via Keycloak, SignalR for live presence, background workers with an outbox, and Polly on outbound calls.
  • MAUI client: signs in via OIDC, consumes the gRPC contract, works offline against a local SQLite store, and syncs on reconnect — on at least one of iOS/Android and one of macOS/Windows.
  • Blazor admin: Auto render mode, MudBlazor, consumes the gRPC-Web contract, includes a moderation queue, charts, and a tenant-aware authorization policy.
  • Tests: xUnit unit tests, integration tests via WebApplicationFactory<T> and Testcontainers for PostgreSQL and Keycloak, plus a BenchmarkDotNet regression test on one hot path.
  • Observability and deploy: Serilog plus OpenTelemetry traces and metrics, multi-stage Dockerfile, GitHub Actions pipeline (build · test · publish · deploy), shipped to Azure Container Apps free tier or equivalent.
  • A RUNBOOK.md covering deploy, rollback, log locations, OIDC client-secret rotation, and what to do if the database fills up.

§ VIII · Getting Started

Three commands. Then begin.

Setup is intentionally lightweight. If you have a laptop that can run the .NET 9 SDK and Docker (or colima/podman), you can begin Week 1 today. No paid tooling is required at any point.

# 1. Clone the curriculum repository
git clone https://github.com/CODE-CRUNCH-WORLDWIDE/C9-CRUNCH-SHARP.git
cd C9-CRUNCH-SHARP

# 2. Install the .NET 9 SDK and confirm the toolchain
brew install --cask dotnet-sdk # macOS
sudo apt install dotnet-sdk-9.0 # Debian / Ubuntu
dotnet --version # expect 9.0.x

# 3. Open Week 1 README and begin
$EDITOR curriculum/week-01-type-system/README.md

Prefer Rider, or need the Docker-free path? See the README.

§ IX · Frequently Asked

Questions, anticipated.

Do I need Visual Studio?

No. VS Code with the C# Dev Kit, or JetBrains Rider Community, is the default editor for the entire curriculum. The dotnet CLI is the default build tool. Visual Studio is acknowledged for the Windows-shop reality, but it is never required, and the course runs end-to-end on macOS and Linux.

§ X · Begin

Fifteen weeks from now,
you will have shipped a polyglot system.

Open the repository. Read Week 1. The contract is yours to define.