// LEARN · LANGUAGES & FRAMEWORKS
C#
A practical C# course from a first single-file program to LINQ, asynchronous code, dependency injection and shipping a native tool. Every example is run and checked on C# 14 and .NET 10.
Level: Beginner to advanced · For: Anyone who wants to write C# on .NET, from a first program to production code. No experience needed.
Syllabus
Beginner
Coming soon
After this level you can
- Install the .NET 10 SDK and run a single-file program with dotnet run app.cs
- Write programs with strings, numbers, branches, loops, List<T> and Dictionary<TKey,TValue>
- Write methods and use tuples, enums, classes, structs and records, and explain value versus reference semantics
- Use nullable reference types and exceptions to write programs that fail clearly instead of crashing
B1Getting startedComing soon · 4 lessonsRuns on your computer
Run single-file C# programs that work with text and numbers
You build: A tip calculator
- B1.1Coming soon
- B1.2Coming soon
- B1.3Coming soon
- B1.4Coming soon
B2Branches, loops and collectionsComing soon · 5 lessonsRuns on your computer
Control flow and store data in lists and dictionaries
You build: A word counter
- B2.1Coming soon
- B2.2Coming soon
- B2.3Coming soon
- B2.4Coming soon
- B2.5Coming soon
B3Methods, types and tuplesComing soon · 5 lessonsRuns on your computer
Split programs into methods and choose the right built-in type
You build: A unit converter
- B3.1Coming soon
- B3.2Coming soon
- B3.3Coming soon
- B3.4Coming soon
- B3.5Coming soon
B4Classes, structs and recordsComing soon · 6 lessonsRuns on your computer
Model data with the right kind of type and explain copy versus reference
You build: A bank account
- B4.1Coming soon
- B4.2Coming soon
- B4.3Coming soon
- B4.4Coming soon
- B4.5Coming soon
- B4.6Coming soon
B5Null safety and exceptionsComing soon · 5 lessonsRuns on your computer
Handle missing values and failures deliberately
You build: A robust input parser
- B5.1Coming soon
- B5.2Coming soon
- B5.3Coming soon
- B5.4Coming soon
- B5.5Coming soon
Beginner project
Expense tracker
A single-file program that adds, lists and totals expenses by category from standard input, with decimal amounts and no nullable warnings.
Runs on your computerSelf-checked against a rubric
Intermediate
Coming soon
After this level you can
- Use pattern matching and switch expressions to express data-driven rules
- Write generic types with constraints, and use delegates, lambdas and events
- Query in-memory data with LINQ and predict when a deferred query runs
- Read and write files and JSON, split a solution into projects and use NuGet packages
- Write and run unit tests with dotnet test, and debug a failing test
I1Pattern matchingComing soon · 4 lessonsRuns on your computer
Express data-driven rules with patterns and switch expressions
You build: A pricing-rules engine
- I1.1Coming soon
- I1.2Coming soon
- I1.3Coming soon
- I1.4Coming soon
I2Generics, delegates and eventsComing soon · 5 lessonsRuns on your computer
Write reusable generic code and pass behaviour around
You build: An event-driven price alert
- I2.1Coming soon
- I2.2Coming soon
- I2.3Coming soon
- I2.4Coming soon
- I2.5Coming soon
I3LINQComing soon · 6 lessonsRuns on your computer
Query in-memory data and predict when queries run
You build: A sales report
- I3.1Coming soon
- I3.2Coming soon
- I3.3Coming soon
- I3.4Coming soon
- I3.5Coming soon
- I3.6Coming soon
I4Files, JSON and projectsComing soon · 5 lessonsRuns on your computer
Read and write files and JSON, and organise code into projects and packages
You build: A CSV-to-JSON converter
- I4.1Coming soon
- I4.2Coming soon
- I4.3Coming soon
- I4.4Coming soon
- I4.5Coming soon
I5Testing and debuggingComing soon · 4 lessonsRuns on your computer
Test a library with dotnet test and debug a failure
You build: A test-first string library
- I5.1Coming soon
- I5.2Coming soon
- I5.3Coming soon
- I5.4Coming soon
Intermediate project
Library catalogue
A solution with a class library and tests that loads books from JSON, searches and groups them with LINQ and models loan states with records.
Runs on your computerSelf-checked against a rubric
Advanced
Coming soon
After this level you can
- Write correct asynchronous code with async and await, task combinators, cancellation and async streams
- Use the .NET generic host: dependency injection, configuration, options, logging and a background worker
- Measure and reduce allocations with Span<T>, benchmarks and knowledge of the garbage collector
- Use attributes, reflection, static abstract interface members and C# 14 extension members
- Apply .NET secure-coding guidance and publish as a self-contained, single-file or native AOT app
A1Asynchronous programmingComing soon · 5 lessonsRuns on your computer
Write correct, cancellable asynchronous code
You build: A concurrent downloader against simulated sources
- A1.1Coming soon
- A1.2Coming soon
- A1.3Coming soon
- A1.4Coming soon
- A1.5Coming soon
A2The generic hostComing soon · 4 lessonsRuns on your computer
Build an app with dependency injection, configuration, options, logging and a worker
You build: A background worker service
- A2.1Coming soon
- A2.2Coming soon
- A2.3Coming soon
- A2.4Coming soon
A3Performance and memoryComing soon · 5 lessonsRuns on your computer
Measure and reduce allocations
You build: Optimising a log parser
- A3.1Coming soon
- A3.2Coming soon
- A3.3Coming soon
- A3.4Coming soon
- A3.5Coming soon
A4Reflection, attributes and modern C#Coming soon · 5 lessonsRuns on your computer
Use metadata and the newest language features where they help
You build: An attribute-driven validator
- A4.1Coming soon
- A4.2Coming soon
- A4.3Coming soon
- A4.4Coming soon
- A4.5Coming soon
A5Security and distributionComing soon · 4 lessonsRuns on your computer
Write safer code and ship a tool in the right format
You build: Shipping a command-line tool
- A5.1Coming soon
- A5.2Coming soon
- A5.3Coming soon
- A5.4Coming soon
Advanced project
Concurrent feed aggregator
A hosted background worker that polls simulated feeds concurrently with cancellation and timeouts, logs through ILogger and publishes as a single file.
Runs on your computerSelf-checked against a rubric
Capstone
Capstone
Personal finance CLI
A multi-project solution with CSV and JSON import, reports, configuration, logging, tests and a native AOT build, with a portfolio README.
Runs on your computerSelf-checked against a rubric