Wersja podstawowa
1. Wprowadzenie do programowania
- Wstęp do środowiska uruchomieniowego .NET
- Zapoznanie ze środowiskiem programistycznym Visual Studio
- Tworzenie solucji i nowych projektów
- Język C#. Zmienne, stałe, typy wartości, konwersje
- Typy wyliczeniowe (enum)
- Komunikacja z użytkownikiem, obsługa standardowego wejścia i wyjścia
2. Podstawowe techniki programistyczne
- Instrukcje warunkowe
- Pętle
- Tablice i listy
- Funkcje
- Klasy i obiekty
3. Programowanie obiektowe
- Konstruktory klas
- Właściwości klas
- Metody klas
- Modyfikatory dostępu
- Interfejsy
- Dziedziczenie
- Części statyczne
4. Wprowadzenie do Windows Forms
- Kontrolki Windows Forms
- Obsługa zdarzeń
- Debugowanie aplikacji
5. Odczyt i zapis plików
- Obsługa plików
- Obsługa wyjątków
- Stworzenie praktycznego programu rozwiązującego zadany problem
6. Strukturalny oraz deklaratywny język zapytań
- Zarządzanie bazą danych w Microsoft SQL Server
- Zapytania w języku SQL – Select, Insert, Update, Delete
- Biblioteka do komunikacji z bazą danych
- Komunikacja programu z bazą
- Implementacja aplikacji typu CRUD (Create, Read, Update, Delete) w “Windows Forms” korzystającej z bazy danych Microsoft SQL Server
7. .NET Framework
- Tworzenie aplikacji ASP.NET
- Wejście w platformę .NET
- Kontrolki ASP.NET
- Zasada działania ASP.NET
- Standardowe kontrolki ASP.NET
- Kontrolki informacyjne
- Kontrolki przyjmujące dane wejściowe
- Kontrolki wysyłające dane do formularzy WWW
- Kontrolki wyświetlające obrazy
- Kontrolki walidacyjne
- Kontrolki komunikujące się z serwerem
- Projektowanie aplikacji przy użyciu stron wzorcowych (Master page) i szablonów (Template)
8. Graficzny element sterujący
- Kontrolki źródła danych: GridView, ListView
- Wyświetlanie danych, sortowanie, stronicowanie, edytowanie
- Bindowanie (łącznie) danych ze źródłem
- Obsługa zdarzeń
- Kontrolki ObjectDataSource
- Kontrolki nawigacyjne
- Tworzenie mapy witryny WWW
9. Zaawansowane zagadnienia
- Technologia Ajax w ASP.NET
- Serializacja danych JSON
- Wdrożenie szablonu aplikacji
- Komunikacja aplikacji z serwerem
- Wstęp do mapowania obiektowo-relacyjnego
10. Aplikacja typu CRUD
- Implementacja aplikacji serwerowej typu CRUD w ASP.NET
Wersja XL - dodatkowe tematy
11. Aplikacje desktopowe typu WinUI
- Wprowadzenie do języka XAML
- Tworzenie struktury aplikacji
- Wprowadzenie do wzorca MVVM w aplikacjach desktopowych
- Tworzenie modeli typu Widok-Model (ang. ViewModel)
- Wprowadzenie do automatycznego wiązania danych (ang. DataBinding)
12. Aplikacje desktopowe typu WPF
- Wprowadzenie do aplikacji WPF
- Zastosowanie popularnych kontrolek WPF
- Wprowadzenie do delegatów i wiązania danych (ang. DataBinding)
- Implementacja praktycznej aplikacji opartej o model architektoniczny MVVM
13. Wstęp do aplikacji w technologii Core i ASP.NET Core
- Omówienie zalet technologii Core
- Tworzenie projektów używając poleceń CLI (ang. CLI commands)
- Tworzenie i publikowanie aplikacji i bibliotek
14. Omówienie sposobów tworzenia oprogramowania opartego o aktualne wzorce projektowe i architektoniczne
- Wzorzec architektoniczy MVC (ang. Model-View-Controller)
- Wzorzec architektoniczy MVVM (ang. Model-View-ViewModel)
- Wielowarstwowa architektura “Cebulowa” (ang. Onion Architecture)
- Projektowanie zorientowane na dziedzinę (ang. Domain Driven Design)
- Wzorzec wstrzykiwanie zależności (ang. Dependency Injection, DI)
- Paradygmat odwrócenia sterowania (ang. Inversion of Control, IoC)
15. Przygotowanie rdzenia aplikacji (Core)
- Tworzenie zależności pomiędzy projektami
- Tworzenie modeli domenowych
- Tworzenie repozytorium danych
- Implementacja obiektów transportowych DTO (ang. data transfer object)
- Implementacja serwisów i kontrolerów
16. Tworzenie RESTful API
- Wstęp do protokołu HTTP
- Obsługa żądań typu Get, Post, Put, Delete
- Testowanie żądań przy zastosowaniu klientów HTTP
17. Aspekty mapowania obiektowo-relacyjnego
- Podejście kod pierwszy, potem baza (ang. Code First)
- Implementacja Entity Framework
- Tworzenie relacji pomiędzy obiektami
- Zapytania w języku LINQ
18. Projektowanie praktycznej aplikacji internetowej .NET Core
- Przygotowanie estetycznego interfejsu aplikacji
- Komunikacja klient-serwer
- Wdrożenie mechanizmu autentykacji i autoryzacji użytkowników
- Zabezpieczenie bazy danych (szyfrowanie i hashowanie)
- Konfiguracja aplikacji z zastosowaniem plików konfiguracyjnych
19. Nowe aspekty programowania obiektowego
- Interfejsy
- Typy generyczne
- Wstęp do programowania wielowątkowego
- Tworzenie metod rozszerzających (ang. extension methods)
20. Programowanie aplikacji na urządzenia mobilne w .Net Core
- Wstęp do progresywnych aplikacji Internetowych (ang. Progressive Web App, PWA)
- Wprowadzenie do technologii Blazor
- Implementacja praktycznej aplikacji typu CRUD z możliwością uruchomienia na telefonach komórkowych, tabletach, komputerach stacjonarnych i telewizorach