Menu Zamknij

Kurs C#

Opis kursu

Przestań marnować setki godzin na selekcję materiałów i błądzenie w chaosie informacji. Moja oferta to Twoje jedyne źródło kompletnej, uporządkowanej wiedzy, niezbędnej do wejścia na wysoki poziom w IT. Zdejmuję z Ciebie ciężar planowania – dostajesz gotowy, sprawdzony system stosowany w topowych firmach IT, dzięki czemu skupiasz się wyłącznie na nauce i budowaniu realnych kompetencji.

Dzielą Cię tylko 2 kroki od rozpoczęcia naszej współpracy:

KROK 1. Wybierz formę nauki

📦 Pakiet SELF – Twoja uporządkowana ścieżka w IT

Dla osób, które chcą uczyć się elastycznie, według przemyślanej struktury materiałów.
Cena: od 199 zł / miesiąc
Otrzymasz kompletny system nauki, w którym ja dostarczam proces i standardy, a Ty po prostu go realizujesz, mając pewność, że Twój rozwój postępuje w dobrym kierunku.

  • Automatyczny Plan Rozwoju: Co miesiąc otrzymujesz precyzyjnie dobrany pakiet nagrań, zadań i projektów. Koniec z pytaniem „czego uczyć się dalej?”.
  • Wideo-Analiza Rozwiązań: Do każdego zadania dołączam wideo-omówienie. Nie zostajesz sam z problemem – pokazuję Ci krok po kroku profesjonalną ścieżkę rozwiązania, oszczędzając Twoje godziny na debugowaniu.
  • Baza Materiałów Premium: Skondensowana wiedza o budowaniu profesjonalnego wizerunku (CV i Portfolio), której nie znajdziesz w ogólnodostępnych źródłach.
  • Konsultacje 1:1 na żądanie: Stała, gwarantowana cena za indywidualną pomoc (125 zł / 30 min), gdy potrzebujesz szybkiego wsparcia w konkretnym temacie.
  • Dla kogo: Dla osób na każdym poziomie zaawansowania, które chcą uczyć się po swojemu, ale na materiałach najwyższej klasy, mając wszystko pod ręką w jednym miejscu.

📦 Pakiet MENTOR – Bestseller! Gwarancja postępu i akceleracja kariery

Najkrótsza droga do poziomu Expert pod stałym nadzorem.
Cena: od 799 zł / miesiąc
To najbardziej efektywny model nauki. Przejmuję pełną odpowiedzialność za Twój proces, pilnuję terminów i dbam o to, byś w 4 do 5 miesięcy zrealizował solidne projekty do portfolio, które wyróżnią Cię na rynku.

  • Sterowany Proces i Dyscyplina: Dobieram materiały elastycznie do Twoich postępów, wyznaczając konkretne terminy realizacji. Ja dbam o strukturę i Twoją motywację – Ty realizujesz zadania i projekty z moją pomocą.
  • Stały Kontakt i Szybka Pomoc: Masz pytanie? Nie czekasz. Szybkie odpowiedzi w dni robocze (pon.–czw. 10–22, pt. 10–14) oznaczają, że nigdy nie utkniesz na dłużej.
  • Obowiązkowe Konsultacje 1:1: W cenie otrzymujesz 90 minut spotkań na żywo miesięcznie. Po wykorzystaniu minut z pakietu, możesz dokupić kolejne w stałej gwarantowanej cenie 125 zł / 30 minut. To czas na surową weryfikację Twojego kodu oraz strategiczne planowanie kolejnych kroków.
  • Wsparcie kariery i Documentation as Code: Wspólnie budujemy Twoje portfolio i dokumentację zgodnie z najwyższymi standardami branżowymi.
  • Opcja limitowana: Pracuję tylko z określoną liczbą osób, aby zagwarantować Ci bezpośredni, stały nadzór nad każdą napisaną przez Ciebie linią kodu.
  • Dla kogo: Dla osób na każdym poziomie zaawansowania, które potrzebują wymagającego mentora, chcą maksymalnie zaoszczędzić czas i wymagają zewnętrznej kontroli nad procesem nauki, by osiągnąć cel w rekordowym tempie.

📦 Pakiet SINGLE – Konsultacje doraźne

Szybkie rozwiązanie konkretnego problemu.
Cena: od 270 zł / 60 minut
Dla osób, które nie potrzebują stałego prowadzenia, a jedynie profesjonalnego audytu, jednorazowej konsultacji lub rozwiązania trudnego zagadnienia technicznego, które blokuje ich dalszy rozwój.

promocja ikona
PROMOCJA – pierwsze spotkanie GRATIS

Już teraz

zapisz się na kurs​

Zostaw swoje namiary, a skontaktuję się z Tobą w sprawie kursu

    * - pola obowiązkowe

    Administratorem danych osobowych jest KM PROGRAMS KRZYSZTOF MAKOWSKI z siedzibą przy ul. Cicha 7, 42-454 Niegowonice, Polska. Dane osobowe osób korzystających z formularza kontaktowego przetwarzane są w celu identyfikacji nadawcy oraz obsługi zapytania przesłanego przez udostępniony formularz. Więcej informacji o przetwarzaniu danych osobowych, w tym o przysługujących Ci uprawnieniach, znajduje się w Polityce Prywatności.

    Plan kursu

    • Konfiguracja i uruchomienie środowiska programistycznego
    • Omówienie architektury .NET oraz .NET Core
    • Wykonywanie kodu w środowisku zarządzanym oraz platforma CLI
    • Zmienne
    • Stałe
    • Typy danych i kategorie typów
    • Literały
    • Zarządzanie znakami – typ char
    • Napisy – przegląd metod typu string
    • Interpolacja napisów
    • Formatowanie napisów
    • Typ System.Text.StringBuilder
    • Wyrażenia regularne
    • Pobieranie i prezentacja danych
    • Formatowanie dwustronne
    • Dyrektywa using oraz using static
    • Wartości null oraz void
    • Słowo kluczowe var
    • Typy bezpośrednie i typy referencyjne
    • Konwersje pomiędzy typami danych
    • Operatory
    • Instrukcje sterujące oraz pętle
    • Mechanizm pattern matching
    • Tablice
    • Metody do zarządzania tablicami
    • Typ tuple i dekonstrukcja
    • Zagadnienia uzupełniające
    • Definiowanie metod
    • Stos i sterta
    • Sposoby przekazywania parametrów do metod
    • Pomijanie parametrów wejściowych – wildcards
    • Parametry out variables
    • Wartości zwracane przez metody
    • Zwracanie przez referencję
    • Metody z ciałem w postaci wyrażenia
    • Metody o zmiennej ilości parametrów
    • Parametry opcjonalne
    • Przeciążanie metod
    • Metody lokalne
    • Rekurencja
    • Zagadnienia uzupełniające
    • Definicja klasy i obiektu
    • Referencja do obiektu klasy
    • Omówienie założeń enkapsulacji
    • Modyfikatory dostępu do składników klasy
    • Pola instancji
    • Pola tylko do odczytu – modyfikator readonly
    • Metody instancji
    • Referencja this
    • Deklarowanie właściwości
    • Właściwości przeznaczone tylko do odczytu lub tylko do zapisu
    • Konstruktory
    • Inicjatory obiektów
    • Finalizatory
    • Typy anonimowe
    • Składniki statyczne
    • Konstruktory statyczne
    • Klasy statyczne
    • Metody rozszerzające
    • Klasy zagnieżdżone
    • Klasy i metody częściowe
    • Kompozycja
    • Klasa System.Object i jej metody
    • Zagadnienia uzupełniające
    • Omówienie założeń dziedziczenia
    • Klasa bazowa i klasa pochodna
    • Modyfikatory dostępu w dziedziczeniu
    • Konstruktory w dziedziczeniu
    • Przesłanianie składowych z klas bazowych
    • Polimorfizm
    • Metody rozszerzające w dziedziczeniu
    • Składniki statyczne w dziedziczeniu
    • Rzutowanie między typem bazowym a pochodnym
    • Klasy zamknięte – modyfikator sealed
    • Modyfikatory virtual oraz new w dziedziczeniu
    • Odwołanie do składników klasy bazowej – słowo kluczowe base
    • Klasy abstrakcyjne
    • Zagadnienia uzupełniające
    • Deklaracja interfejsu
    • Implementacja interfejsu
    • Interfejsy a polimorfizm
    • Implementacja z jawnie podawanym interfejsem
    • Implementacja bez jawnie podawanego interfejsu
    • Dziedziczenie interfejsów
    • Metody rozszerzające i interfejsy
    • Interfejsy znacznikowe
    • Zagadnienia uzupełniające
    • Omówienie zasady działania delegatów
    • Deklarowanie typu delegata
    • Tworzenie instancji delegata
    • Metody anonimowe
    • Wyrażenia lambda
    • Delegaty ogólnego przeznaczenia System.Func oraz System.Action
    • Zarządzanie zmiennymi zewnętrznymi wyrażenia lambda
    • Delegaty typu multicast i wzorzec obserwator
    • Deklarowanie zdarzeń
    • Typy generyczne a delegaty
    • Zagadnienia uzupełniające
    • Algorytmy badające właściwości geometryczne
    • Algorytm badające właściwości matematyczne
    • Konwersje pomiędzy systemami liczbowymi
    • Badanie ciągów danych pod kątem wybranych właściwości
    • Sortowanie ciągów danych
    • Zastosowanie metody dziel i zwyciężaj
    • Wybrane metody numeryczne
    • Programowanie zachłanne
    • Algorytmy na tekstach
    • Wybrane algorytmy kryptograficzne
    • Rekurencja
    • Przegląd wybranych struktur danych
    • Zagadnienia uzupełniające
    • Omówienie hierarchii wyjątków
    • Sposoby zgłaszania wyjątków
    • Sposoby przechwytywania wyjątków
    • Ponowne zgłaszanie przechwyconego wyjątku
    • Wyjątki w wyrażeniach
    • Implementacja własnych klas do obsługi wyjątków
    • Dziedziczenie klas wyjątków
    • Zwalnianie zasobów z wykorzystaniem instrukcji using
    • Dobre praktyki zgłaszania i obsługi wyjątków
    • Zagadnienia uzupełniające
    • Klasyfikacja wzorców projektowych
    • Implementacja wzorców kreacyjnych
    • Implementacja wzorców strukturalnych
    • Implementacja wzorców czynnościowych
    • Zagadnienia uzupełniające
    • Omówienie hierarchii kolekcji
    • Inicjatory kolekcji
    • Interfejs IEnumerable oraz IQueryable
    • Standardowe operatory kwerend
    • Wyrażenia z kwerendami
    • Przegląd wszystkich metod technologii LINQ
    • Wzorzec Lazy Evaluation w pracy z kwerendami
    • Klauzule let, into, from
    • Wzorzec projektowy iterator
    • Podstawowe interfejsy w kolekcjach: ICollection, IList, IDictionary
    • Podstawowe klasy w kolekcjach: List, Dictionary<K, V>, SortedDictionary<K, V>, SortedList, Stack, Queue, LinkedList
    • Indeksery
    • Zagadnienia uzupełniające
    • Definicja klasy generycznej
    • Generyczne interfejsy i struktury
    • Reprezentacja typów generycznych w CIL
    • Typy Pair oraz Tuple
    • Zagnieżdżone typy generyczne
    • Ograniczenia typów generycznych
    • Metody generyczne
    • Kowariancja i kontrawariancja w typach generycznych
    • Przechwytywanie informacje o typie w runtime
    • Zagadnienia uzupełniające
    • Tworzenie, uruchamianie i zarządzanie wątkami
    • Blokowanie i usypianie wątków
    • Pule wątków
    • Wątki aktywne i działające w tle
    • Priorytety wątków
    • Wyjątki w wielowątkowości
    • Współdzielenie zasobów
    • Synchronizacja
    • Klasa Monitor
    • Słowo kluczowe lock
    • Pola jako zmienne volatile
    • Klasa System.Threading.Interlocked
    • Inne typy związane z synchronizacją
    • Zadania asynchroniczne
    • Wzorzec obsługi asynchroniczności za pomocą zadań
    • Instrukcje async oraz await
    • Asynchroniczne wyrażenia lambda
    • Pętle równoległe
    • Klasy kolekcji przetwarzanych równolegle
    • Równoległe wykonywanie kwerend LINQ
    • Zegary
    • Zagadnienia uzupełniające
    • Omówienie architektury frameworka Entity Framework
    • Zarządzanie bazą danych – podejście code-first
    • Zarządzanie bazą danych – podejście database-first
    • Budowanie modelu bazy danych – mapowanie tabel
    • Praca z migracjami
    • Dodawanie nowej tabeli
    • Modyfikowanie istniejącej tabeli
    • Usuwanie istniejącej tabeli
    • Tworzenie relacji pomiędzy tabelami
    • Wypełnianie tabel przykładowymi danymi
    • Konfiguracja tabel i wprowadzanie ograniczeń z wykorzystaniem DataAnnotations
    • Konfiguracja tabel i wprowadzanie ograniczeń z wykorzystaniem FluentAPI
    • Pobieranie i przetwarzanie danych z wykorzystaniem technologii LINQ
    • Lazy Loading
    • Problem Select N + 1
    • Eager Loading
    • Explicit Loading
    • Wykorzystanie wzorców projektowych i typów generycznych w zarządzaniu danymi
    • Narzędzia wspomagające pracę z Entity Framework
    • Architektura wielowarstwowa
    • Implementacja kompletnej aplikacji zarządzającej komunikacją bazodanową z wykorzystaniem Entity Framework
    • Zagadnienia uzupełniające
    • Dyrektywy preprocesora
    • Przestrzenie nazw
    • Obsługa zasobów zewnętrznych
    • Operator nameof
    • Porównanie działania operatorów is oraz as
    • Struktury
    • Wyliczenia
    • Przeciążanie operatorów
    • Operatory konwersji
    • Implementacja bibliotek
    • Refleksje
    • Atrybuty
    • Omówienie architektury GIT
    • Przegląd instrukcji GIT
    • Rozgałęzianie i scalanie w GIT
    • Aplikacje i wtyczki do pracy z GIT
    • Praca ze zdalnym repozytorium
    • GitHub Pages
    • Zagadnienia uzupełniające

    Newsletter