- C# 93.5%
- CSS 3.8%
- HTML 2%
- JavaScript 0.4%
- Java 0.3%
|
All checks were successful
Build and Release PDFs / build (push) Successful in 1m32s
|
||
|---|---|---|
| .claude | ||
| .forgejo/workflows | ||
| books | ||
| build | ||
| demos | ||
| exercises/CarAppExercises | ||
| extra | ||
| openspec | ||
| solutions | ||
| src | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| GEMINI.md | ||
| README.md | ||
C# Programming
Course material for the five-day C# Programming course. This package contains the slide decks, the worked demos shown during the lectures, the exercise projects you work on yourself, and the reference solutions.
What you need
-
The .NET 10 SDK. All projects target
net10.0. Check your install with:dotnet --versionA
10.xversion confirms the SDK is present. Download it from https://dotnet.microsoft.com/download/dotnet/10.0. -
An editor. Any of Visual Studio 2022/2026, Visual Studio Code with the C# Dev Kit, or JetBrains Rider will open the solutions in this package.
No other tooling is required to follow the core course.
What is in this package
| Folder / file | Contents |
|---|---|
NET100-CSharp-Programming.pdf |
The slide deck for all modules, in lecture order. |
NET100-CSharp-Programming-Exercises.pdf |
The exercise instructions, step by step. |
demos/ |
The demo projects shown on the slides, one folder per module. |
exercises/ |
Starter projects you extend during the exercises (CarAppExercises). |
solutions/ |
Reference solutions for every exercise. |
extra/ |
Optional supplementary material. Not required for the core course. |
books/ |
Free C# and .NET reference books in PDF form. |
NET200-C#-Programming_og.pdf |
The original source manual the course is based on. |
Course structure
The course runs over five days. The slide deck and the demos follow the same module order :
- Modules 1 to 6 cover the language : C# intro, syntax, classes and objects, inheritance, exception handling, and namespaces.
- Modules 7 and 8 cover threads and synchronization.
- Modules 9 to 13 cover special classes, utility classes, generics, collections, and file I/O.
- Appendices A to D cover modern C#, functional programming, LINQ, and async. These are optional and covered as time and interest allow.
The pacing across the five days is set by the instructor and adapts to the group, so there is no fixed daily timetable in this package.
Running a demo
Each demo is a standalone project. Run one from its folder with dotnet run, for
example :
dotnet run --project demos/04-inheritance/demo03-polymorphism
Most module folders also contain a .sln file you can open in your editor to browse
every demo for that module at once.
Working the exercises
- Open
exercises/CarAppExercises/CarAppExercises.slnin your editor. - Follow the steps in
NET100-CSharp-Programming-Exercises.pdf. Each exercise has its own starter project, for exampleCarApp-Exercise03-Classes-and-Objects. - Build and run your work as you go with
dotnet runor your editor's run command. - When you want to check your result, compare it against the matching project under
solutions/. The CarApp solutions cover exercises 1 to 16; the appendix solutions cover the modern C#, functional, LINQ, and async exercises.
You can build every reference solution at once to confirm your toolchain is set up correctly :
dotnet build solutions/CarAppSolutions/CarAppSolutions.sln
Optional material
The extra/ folder holds self-contained deep-dives that sit outside the core course :
async patterns, web APIs, desktop UI frameworks, WebAssembly, testing with NUnit, and
design patterns. See extra/README.md for the full index. These are useful for a
day-five session or as later reference, and are not needed to follow the slides.