Wersja podstawowa
1. Wprowadzenie do programowania i platformy .NET
- Czym jest platforma .NET i do czego służy język C#
- Instalacja SDK, środowisko Visual Studio lub Visual Studio Code
- Solucje i projekty, polecenia dotnet w wierszu poleceń
- Pierwszy program; szybkie uruchamianie programów z jednego pliku
- Zmienne, stałe, typy danych i konwersje
- Komunikacja z użytkownikiem: wejście i wyjście w konsoli
2. Git i GitHub
- Po co jest system kontroli wersji
- Repozytorium, commit, historia zmian
- Gałęzie — podstawy
- Praca z repozytorium na GitHubie i w Visual Studio
3. Podstawowe techniki programistyczne
- Instrukcje warunkowe, wyrażenia switch
- Pętle
- Tablice, listy i słowniki
- Metody i parametry
- Praca z tekstem
- Wartość null i typy dopuszczające null
4. Programowanie obiektowe
- Klasy i obiekty, konstruktory, właściwości i metody
- Modyfikatory dostępu, składowe statyczne
- Dziedziczenie i interfejsy
- Typy wyliczeniowe (enum)
- Rekordy (record)
- Dopasowanie wzorców (pattern matching)
5. Wyjątki, pliki i dane
- Obsługa wyjątków
- Odczyt i zapis plików
- Format JSON: zapis i odczyt danych
- LINQ — wyszukiwanie, filtrowanie, sortowanie i grupowanie danych
- Praktyczny program rozwiązujący zadany problem
6. Debugowanie i testy jednostkowe
- Debugowanie programu w Visual Studio
- Po co są testy jednostkowe
- Pisanie i uruchamianie testów (xUnit)
7. Aplikacje okienkowe Windows Forms
- Kontrolki i obsługa zdarzeń
- Prosta aplikacja okienkowa (tylko w systemie Windows)
8. Bazy danych: SQL Server i Entity Framework Core
- Baza danych Microsoft SQL Server — podstawy
- Zapytania SQL: SELECT, INSERT, UPDATE, DELETE
- Entity Framework Core: model danych i kontekst bazy
- Migracje — tworzenie i zmiana struktury bazy z poziomu kodu
- Operacje CRUD i zapytania LINQ do bazy
9. Programowanie asynchroniczne — podstawy
- Po co jest asynchroniczność
- Słowa kluczowe async i await w praktyce
10. Aplikacje webowe w Blazorze
- Jak działa aplikacja webowa: przeglądarka, serwer, HTTP
- Komponenty Razor
- Obsługa zdarzeń i wiązanie danych
- Formularze i walidacja
- Wyświetlanie danych w tabelach: sortowanie i stronicowanie
- Układ strony (layout) i nawigacja
- Wstrzykiwanie zależności: korzystanie z serwisów w komponentach
11. Sztuczna inteligencja w pracy programisty
- Asystenci AI w środowisku programisty (np. GitHub Copilot, Cursor)
- Tryb agentowy: praca asystenta na całym projekcie (np. Copilot, Claude Code)
- Skuteczny prompting dla programistów
- Generowanie testów jednostkowych z pomocą AI
- Wyjaśnianie i refaktoryzacja kodu z pomocą AI
- Wywoływanie modeli językowych z poziomu C#
- Weryfikacja kodu generowanego przez AI: poprawność, bezpieczeństwo, pułapki
12. Projekt końcowy
- Aplikacja webowa typu CRUD w Blazorze z bazą danych (Entity Framework Core)
Wersja XL - dodatkowe tematy
13. C# — poziom wyżej
- Typy generyczne
- Delegaty, wyrażenia lambda i zdarzenia
- Metody rozszerzające
- LINQ — zapytania zaawansowane
- Nowsze elementy języka w praktyce
14. Programowanie asynchroniczne
- Zadania (Task) i async/await od środka
- Anulowanie operacji (CancellationToken)
- Operacje równoległe — wprowadzenie
- Typowe błędy w kodzie asynchronicznym
15. ASP.NET Core Web API
- HTTP i REST: żądania GET, POST, PUT, DELETE, kody odpowiedzi
- Minimal API i kontrolery
- Routing, przekazywanie danych, walidacja
- Dokumentacja API (OpenAPI)
- Testowanie żądań klientem HTTP
- Wywoływanie zewnętrznych API (HttpClient)
16. Struktura aplikacji
- Wstrzykiwanie zależności i czas życia obiektów
- Konfiguracja aplikacji i ustawienia środowisk
- Logowanie
- Podział na warstwy: modele, DTO, serwisy, dostęp do danych
- Wzorce architektoniczne — przegląd (MVC, architektura cebulowa)
17. Entity Framework Core w aplikacji
- Relacje między obiektami
- Migracje w pracy zespołowej
- Wydajność zapytań i typowe pułapki
18. Bezpieczeństwo aplikacji
- Uwierzytelnianie i autoryzacja użytkowników
- ASP.NET Core Identity
- Tokeny i ciasteczka — kiedy które
- Przechowywanie haseł (hashowanie) i sekretów
- Najczęstsze podatności aplikacji webowych — przegląd
19. Testy aplikacji
- Testy jednostkowe z atrapami zależności
- Testy integracyjne API
- AI w pisaniu i przeglądzie testów
20. Front do własnego API
- Aplikacja Blazor korzystająca z własnego API
- Aplikacja webowa instalowana na telefonie i komputerze (PWA) — pokaz
21. Aplikacje desktopowe WPF
- XAML i kontrolki WPF
- Wiązanie danych
- Wzorzec MVVM
- Aplikacja desktopowa korzystająca z API
22. Publikacja i wdrożenie aplikacji
- Publikacja aplikacji .NET
- Automatyczne budowanie i testy (GitHub Actions)
- Uruchomienie aplikacji w kontenerze (Docker) — pokaz
- Wdrożenie aplikacji w chmurze (Azure) — pokaz
23. Praca ze starszymi projektami .NET
- .NET Framework a współczesny .NET — różnice
- Jak wygląda aplikacja ASP.NET MVC i Web Forms
- Migracja do współczesnego .NET — na czym polega
24. Projekt końcowy
- Aplikacja z API, bazą danych, logowaniem użytkowników, frontem i testami
- Praca z repozytorium i automatycznym budowaniem, wsparcie asystentów AI