Programowanie .NET - kurs zaawansowany
Programowanie .NET - kurs zaawansowany
Informacje podstawowe
Informacje podstawowe
- KategoriaInformatyka i telekomunikacja / Programowanie
- Grupa docelowa usługi
- Programiści C# z doświadczeniem w programowaniu obiektowym, chcący rozwinąć umiejętności w zakresie zaawansowanych technik .NET
- Osoby programujące w innych językach, posiadające podstawową znajomość C# i Visual Studio, planujące migrację do środowiska .NET
- Specjaliści IT realizujący projekty wymagające pracy z wielowątkowością, asynchronicznością lub komunikacją sieciową
- Minimalna liczba uczestników4
- Maksymalna liczba uczestników8
- Data zakończenia rekrutacji16-06-2026
- Forma prowadzenia usługizdalna w czasie rzeczywistym
- Podstawa uzyskania wpisu do BURCertyfikat systemu zarządzania jakością wg. ISO 9001:2015 (PN-EN ISO 9001:2015) - w zakresie usług szkoleniowych
Cel
Cel
Cel edukacyjny
Szkolenie przygotowuje do samodzielnego projektowania i implementowania zaawansowanych rozwiązań w środowisku .NET z wykorzystaniem języka C#,uczy stosowania dobrych praktyk programistycznych oraz efektywnego wykorzystania bibliotek i narzędzi dostępnych na platformie .NET
rozwija umiejętność rozwiązywania problemów związanych z programowaniem współbieżnym, asynchronicznym i sieciowym w C#
pokazuje, jak wykorzystywać nowoczesne techniki i wzorce projektowe w codziennej pracy programisty .NET
Efekty uczenia się oraz kryteria weryfikacji ich osiągnięcia i Metody walidacji
| Efekty uczenia się | Kryteria weryfikacji | Metoda walidacji |
|---|---|---|
| Uczestnik projektuje zaawansowane aplikacje z użyciem kolekcji, LINQ i typów generycznych Uczestnik analizuje i wdraża mechanizmy wielowątkowości oraz asynchroniczności w .NET Uczestnik implementuje komunikację sieciową i obsługuje protokoły HTTP w aplikacjach .NET Uczestnik stosuje wzorce projektowe oraz techniki programowania aspektowego Uczestnik testuje i weryfikuje poprawność kodu przy użyciu narzędzi do testów jednostkowych Uczestnik konfiguruje i wykorzystuje narzędzia do logowania i kontroli zależności | Podczas części warsztatowej, Uczestnik stworzył realny projekt, który można udostępnić, skomentować i zaprezentować. | Obserwacja w warunkach rzeczywistych |
Kwalifikacje i kompetencje
Kwalifikacje
Kompetencje
Usługa prowadzi do nabycia kompetencji.Warunki uznania kompetencji
Program
Program
Kolekcje
- Podstawowe kolekcje: listy, słowniki
- Kolejki, stosy
- Kolekcje współbieżne - ConcurrentBag, ConcurrentQueue, ConcurrentDictionary
- Definiowanie własnych kolekcji
Typy generyczne
- Tworzenie klas generycznych
- Definiowanie metod generycznych
Kowariancja i Kontrawariancja
Typy anonimowe
- Delegaty
- Wyrażenia lambda
- Anonimowe delegaty i domknięcia w C#
- Tworzenie anonimowych obiektów
- Func/Action
Typ dynamic i Dynamic Language Runtime
Metody rozszerzające
Method Chaining
- Wprowadzenie do wzorca Method Chaining
- Definiowanie własnych interfejsów Fluent
- Omówienie zalet interfejsów Fluent i przypadków zastosowania
LINQ
- Czym jest LINQ
- Przegląd podstawowych operatorów LINQ
- LINQ to Objects
- Łączenie wyrażeń LINQ z wykorzystaniem Method Chaining
- Operatory projekcji
- Agregacja
- Grupowanie
- Złączenia
- Zalety stosowania LINQ
- Własne operatory i rozszerzenia
Mechanizm refleksji
- Idea stosowania refleksji
- Pobieranie informacji o składowych typów
- Tworzenie obiektów z wykorzystaniem mechanizmu refleksji
- Wykorzystanie atrybutów
Wielowątkowość
- Zastosowanie wielowątkowości w aplikacjach
- Zarządzanie cyklem życia wątku - tworzenie, usypianie, kończenie
- Synchronizacja wątków
- Zakleszczenia
- Pule wątków
- Dobre praktyki związane z wielowątkowością
Metody asynchroniczne
- Wykorzystanie Task Parallel Library
- Użycie async, await
Wprowadzenie do przetwarzania współbieżnego
- Idea przetwarzania współbieżnego
- Instrukcje Parallel LINQ
- Pętle współbieżne
- Wydajność przetwarzania współbieżnego
Wprowadzenie do programowania sieciowego
- Gniazda sieciowe
- Wykorzystanie klas TcpClient i TcpListener do komunikacji sieciowej
- Wykorzystanie wielowątkowości w programowaniu sieciowym
Komunikacja HTTP
- Wykorzystanie komunikacji HTTP w usługach sieciowych
- Użycie HTTPWebRequest/HTTPWebResponse
- Zastosowanie uproszczonego interfejsu obsługi HTTP - WebClient
Programowanie aspektowe (PostSharp)
- Idea i zalety programowania aspektowego
- Wprowadzenie do biblioteki PostSharp
- Definiowanie własnych aspektów
Kontener IoC (opcjonalne)
- Wzorzec Inversion of Control
- Wprowadzenie do kontenera Autofac
- Rejestrowanie składowych kontenera
- Rozwiązywanie zależności
- Automatyczne wstrzykiwanie zależności
- Zalety i przypadki użycia wzorca IoC
Testy jednostkowe (opcjonalne)
- Idea testów jednostkowych i ich wpływ na niezawodność kodu
- Porównanie najpopularniejszych bibliotek do testów jednostkowych dostępnych w środowisku .NET - MS Test, NUnit, XUnit
- Tworzenie testów jednostkowych, klasa Assert
- Uruchamianie testów jednostkowych, wprowadzenie do Test Explorer
- Użycia rozszerzeń FluentAssertions
- Wprowadzenie do metodyki Test-driven development
Biblioteka logująca NLog (opcjonalne)
Harmonogram
Harmonogram
| Przedmiot / temat | Typ aktywności | Prowadzący | Data realizacji zajęć | Godzina rozpoczęcia | Godzina zakończenia | Liczba godzin |
|---|---|---|---|---|---|---|
Przedmiot / temat 1 z 29 Kolekcje | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 23-06-2026 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 11:00 | Liczba godzin 02:00 |
Przedmiot / temat 2 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 23-06-2026 | Godzina rozpoczęcia 11:00 | Godzina zakończenia 11:15 | Liczba godzin 00:15 |
Przedmiot / temat 3 z 29 Typy generyczne | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 23-06-2026 | Godzina rozpoczęcia 11:15 | Godzina zakończenia 13:15 | Liczba godzin 02:00 |
Przedmiot / temat 4 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 23-06-2026 | Godzina rozpoczęcia 13:15 | Godzina zakończenia 13:45 | Liczba godzin 00:30 |
Przedmiot / temat 5 z 29 Kowariancja i Kontrawariancja | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 23-06-2026 | Godzina rozpoczęcia 13:45 | Godzina zakończenia 15:15 | Liczba godzin 01:30 |
Przedmiot / temat 6 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 23-06-2026 | Godzina rozpoczęcia 15:15 | Godzina zakończenia 15:30 | Liczba godzin 00:15 |
Przedmiot / temat 7 z 29 Typy anonimowe | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 23-06-2026 | Godzina rozpoczęcia 15:30 | Godzina zakończenia 17:00 | Liczba godzin 01:30 |
Przedmiot / temat 8 z 29 Typ dynamic i Dynamic Language Runtime | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 24-06-2026 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 11:00 | Liczba godzin 02:00 |
Przedmiot / temat 9 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 24-06-2026 | Godzina rozpoczęcia 11:00 | Godzina zakończenia 11:15 | Liczba godzin 00:15 |
Przedmiot / temat 10 z 29 Metody rozszerzające, Method Chaining | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 24-06-2026 | Godzina rozpoczęcia 11:15 | Godzina zakończenia 13:15 | Liczba godzin 02:00 |
Przedmiot / temat 11 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 24-06-2026 | Godzina rozpoczęcia 13:15 | Godzina zakończenia 13:45 | Liczba godzin 00:30 |
Przedmiot / temat 12 z 29 LINQ | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 24-06-2026 | Godzina rozpoczęcia 13:45 | Godzina zakończenia 15:15 | Liczba godzin 01:30 |
Przedmiot / temat 13 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 24-06-2026 | Godzina rozpoczęcia 15:15 | Godzina zakończenia 15:30 | Liczba godzin 00:15 |
Przedmiot / temat 14 z 29 Mechanizm refleksji | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 24-06-2026 | Godzina rozpoczęcia 15:30 | Godzina zakończenia 17:00 | Liczba godzin 01:30 |
Przedmiot / temat 15 z 29 Wielowątkowość | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 25-06-2026 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 11:00 | Liczba godzin 02:00 |
Przedmiot / temat 16 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 25-06-2026 | Godzina rozpoczęcia 11:00 | Godzina zakończenia 11:15 | Liczba godzin 00:15 |
Przedmiot / temat 17 z 29 Metody asynchroniczne | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 25-06-2026 | Godzina rozpoczęcia 11:15 | Godzina zakończenia 13:15 | Liczba godzin 02:00 |
Przedmiot / temat 18 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 25-06-2026 | Godzina rozpoczęcia 13:15 | Godzina zakończenia 13:45 | Liczba godzin 00:30 |
Przedmiot / temat 19 z 29 Wprowadzenie do przetwarzania współbieżnego | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 25-06-2026 | Godzina rozpoczęcia 13:45 | Godzina zakończenia 15:15 | Liczba godzin 01:30 |
Przedmiot / temat 20 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 25-06-2026 | Godzina rozpoczęcia 15:15 | Godzina zakończenia 15:30 | Liczba godzin 00:15 |
Przedmiot / temat 21 z 29 Wprowadzenie do programowania sieciowego | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 25-06-2026 | Godzina rozpoczęcia 15:30 | Godzina zakończenia 17:00 | Liczba godzin 01:30 |
Przedmiot / temat 22 z 29 Komunikacja HTTP, Programowanie aspektowe (PostSharp) | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 26-06-2026 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 11:00 | Liczba godzin 02:00 |
Przedmiot / temat 23 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 26-06-2026 | Godzina rozpoczęcia 11:00 | Godzina zakończenia 11:15 | Liczba godzin 00:15 |
Przedmiot / temat 24 z 29 Kontener IoC | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 26-06-2026 | Godzina rozpoczęcia 11:15 | Godzina zakończenia 13:15 | Liczba godzin 02:00 |
Przedmiot / temat 25 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 26-06-2026 | Godzina rozpoczęcia 13:15 | Godzina zakończenia 13:45 | Liczba godzin 00:30 |
Przedmiot / temat 26 z 29 Testy jednostkowe | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 26-06-2026 | Godzina rozpoczęcia 13:45 | Godzina zakończenia 15:15 | Liczba godzin 01:30 |
Przedmiot / temat 27 z 29 - | Typ aktywności Przerwa | Prowadzący - | Data realizacji zajęć 26-06-2026 | Godzina rozpoczęcia 15:15 | Godzina zakończenia 15:30 | Liczba godzin 00:15 |
Przedmiot / temat 28 z 29 - | Typ aktywności Walidacja | Prowadzący - | Data realizacji zajęć 26-06-2026 | Godzina rozpoczęcia 15:30 | Godzina zakończenia 16:00 | Liczba godzin 00:30 |
Przedmiot / temat 29 z 29 Biblioteka logująca NLog | Typ aktywności Zajęcia | Prowadzący Marcin Sulecki | Data realizacji zajęć 26-06-2026 | Godzina rozpoczęcia 16:00 | Godzina zakończenia 17:00 | Liczba godzin 01:00 |
Podsumowanie
| Rodzaj godzin | Liczba godzin |
|---|---|
Rodzaj godzin Suma godzin zegarowych usługi | Liczba godzin 32:00 |
Rodzaj godzin w tym suma godzin zajęć | Liczba godzin 27:30 |
Rodzaj godzin w tym suma godzin walidacji | Liczba godzin 00:30 |
Rodzaj godzin w tym suma przerw | Liczba godzin 04:00 |
Rodzaj godzin Suma godzin dydaktycznych bez przerw | Liczba godzin 37:15 |
Cena
Cena
Cennik
| Rodzaj ceny | Cena |
|---|---|
Rodzaj ceny Koszt przypadający na 1 uczestnika brutto | Cena 4 803,15 PLN |
Rodzaj ceny Koszt przypadający na 1 uczestnika netto | Cena 3 905,00 PLN |
Rodzaj ceny Koszt osobogodziny brutto | Cena 150,10 PLN |
Rodzaj ceny Koszt osobogodziny netto | Cena 122,03 PLN |
Liczba godzin usługi
| Rodzaj godzin | Liczba godzin |
|---|---|
Rodzaj godzin Liczba godzin zegarowych usługi | Liczba godzin 32:00 |
Prowadzący
Prowadzący
Marcin Sulecki
Informacje dodatkowe
Informacje dodatkowe
Informacje o materiałach dla uczestników usługi
uczestnicy otrzymują materiały szkoleniowe w wersji elektronicznej
Warunki uczestnictwa
Umiejętność posługiwania się środowiskiem Visual Studio
Znajomość założeń programowania obiektowego
Podstawowa znajomość języka C#
Informacje dodatkowe
Szkolenie będzie prowadzone zdalnie, w czasie rzeczywistym, na żywo, z trenerem, możliwością zadawania pytań.
Szkolenie składa się w 30% z wykładu teoretycznego, w 70% z warsztatów i samodzielnej pracy programistycznej.
Podczas szkolenia uczestnicy mają dostęp do czatu z trenerem, współdzielą ekran podczas części warsztatowej, żeby zaprezentować postęp swojej pracy.
Walidacja będzie bazowała na ocenie efektów samodzielnej pracy uczestników, będzie sprawdzała nabytą wiedzę teoretyczną i umiejętność jej zastosowania w praktyce.
Warunki techniczne
Warunki techniczne
przeglądarka internetowa Chrome
zainstalowana aplikacja Zoom App
dobrej jakości słuchawki oraz mikrofon (opcjonalnie) kamera internetowa
link do szkolenia zostanie przesłany uczestnikom przed szkoleniem i będzie aktywny do końca szkolenia.