No description
  • C# 93.5%
  • CSS 3.8%
  • HTML 2%
  • JavaScript 0.4%
  • Java 0.3%
Find a file
Feiko 9d241fe35c
All checks were successful
Build and Release PDFs / build (push) Successful in 1m32s
new a sync exercice
2026-06-05 16:07:55 +02:00
.claude Add openspec changes, Claude config, and preamble update 2026-05-26 11:48:35 +02:00
.forgejo/workflows CI: install git-lfs at runtime and pull LFS files 2026-05-30 13:44:32 +02:00
books Add free C#/.NET books in books/free/ via Git LFS 2026-05-30 13:41:25 +02:00
build fix exercise markers 2026-05-30 22:41:26 +02:00
demos fix 2026-05-30 22:00:13 +02:00
exercises/CarAppExercises new a sync exercice 2026-06-05 16:07:55 +02:00
extra fix 2026-05-30 22:00:13 +02:00
openspec intermediate commit 2026-05-26 14:53:53 +02:00
solutions new a sync exercice 2026-06-05 16:07:55 +02:00
src new a sync exercice 2026-06-05 16:07:55 +02:00
.editorconfig Big things 2026-05-15 10:09:51 +02:00
.gitattributes Add free C#/.NET books in books/free/ via Git LFS 2026-05-30 13:41:25 +02:00
.gitignore Ignore Blazor/WASM publish output (wwwroot/_framework) 2026-05-30 12:35:56 +02:00
GEMINI.md Commit remaining working tree changes 2026-05-25 21:44:30 +02:00
README.md fix 2026-05-30 22:00:13 +02:00

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 --version
    

    A 10.x version 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

  1. Open exercises/CarAppExercises/CarAppExercises.sln in your editor.
  2. Follow the steps in NET100-CSharp-Programming-Exercises.pdf. Each exercise has its own starter project, for example CarApp-Exercise03-Classes-and-Objects.
  3. Build and run your work as you go with dotnet run or your editor's run command.
  4. 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.