Ten kurs jest dla osób, które chcą nauczyć się C++ praktycznie i zbudować kompetencje potrzebne w realnej pracy z kodem natywnym, bibliotekami i systemami, gdzie liczy się wydajność, kontrola zasobów i świadome zarządzanie pamięcią. Niezależnie od tego, czy dopiero zaczynasz, czy masz już podstawy i chcesz wejść na poziom projektów zbliżonych do produkcyjnych, otrzymujesz uporządkowaną ścieżkę od fundamentów języka po nowoczesny C++, m.in. szablony, concepts, semantykę przenoszenia, CMake oraz wybrane, praktyczne elementy biblioteki standardowej C++. Program łączy dużą ilość praktyki, pracę na realnych fragmentach kodu oraz standardy wykorzystywane komercyjnie, dzięki czemu nauka przekłada się bezpośrednio na portfolio i realne umiejętności rynkowe. W kursie dodatkowo nauczysz się kontroli wersji z Git, konteneryzacji z Docker oraz pracy z bazą danych MySQL od podstaw. Dodatkowo w ramach mentoringu uczysz się świadomej pracy z narzędziami AI (Claude Code, Cursor i inne) — od precyzyjnego promptowania po krytyczną weryfikację sugestii kodu.
Kurs szczególnie dobrze sprawdzi się dla osób, które chcą świadomie rozwijać karierę w IT: przebranżawiających się, juniorów, studentów i samouków, ale także dla programistów, którzy chcą uporządkować wiedzę o C++ i przejść od kodu ograniczonego do minimum działającej funkcji do rozwiązań czytelnych, bezpiecznych i łatwych w utrzymaniu. To ścieżka dla tych, którzy chcą nie tylko znać składnię, ale rozumieć model pamięci, kontrakty typów, obiektowość (OOP) na poziomie projektowym oraz nowoczesne mechanizmy języka i narzędzia wspierające pracę w zespole.
Wybierz ten kurs jeśli:
- Chcesz mieć jasną, uporządkowaną ścieżkę nauki od podstaw po zaawansowany, nowoczesny C++,
- Zależy Ci na praktyce — dużo kodu, zadań i materiałów ułożonych jak realny program szkoleniowy,
- Chcesz rozumieć pamięć, wskaźniki i typowe abstrakcje w C++ zamiast uczyć się pojedynczych trików bez kontekstu,
- Chcesz wejść w OOP i projektowanie na poziomie architektury (SOLID, podział na pliki, CMake),
- Chcesz rozwinąć portfolio i warsztat inżynierski oparty o standardy pracy z kodem C++,
- Chcesz pisać lepszy kod i efektywnie współpracować z narzędziami AI jako naturalną częścią swojego warsztatu,
- Chcesz budować kompetencje cenione w branży — od algorytmów po szablony, concepts i narzędzia budowy.
Zaczynasz od konfiguracji narzędzi, kompilacji i pierwszego debugowania, potem przechodzisz przez typy, inicjalizację, systemy liczbowe oraz liczby zmiennoprzecinkowe. Budujesz rozumienie operatorów arytmetycznych i bitowych, w tym nowoczesnych porównań (spaceship), oraz instrukcji warunkowych; budujesz też nawyk czytelnego kodu. Ten moduł stawia fundament pod dalszą naukę: rozumiesz, co robi program linia po linii i jak kontrolować jego zachowanie.
Wybierz ten moduł jeśli:
- Dopiero zaczynasz i chcesz pewnie przejść przez pierwsze tygodnie bez chaosu,
- Chcesz dobrze zrozumieć typy i operatory, zanim wejdziesz w pętle i funkcje,
- Zależy Ci na porządnym starcie pod dalszą naukę o pamięci i obiektowości.
Po ukończeniu modułu potrafisz napisać poprawny program konsolowy z warunkami, rozumiesz typowe źródła błędów na etapie typów i operatorów oraz pracujesz świadomie ze składnią podstawową C++.
Wchodzisz w pełny przepływ sterowania: pętle, break i continue, bibliotekę matematyczną i pseudolosowość, a także pobieranie danych od użytkownika. Następnie przechodzisz do funkcji — od pierwszych definicji, przez walidację argumentów, aż po podstawy wyjątków. Moduł domykają intensywne zadania praktyczne oraz pierwsze algorytmy na liczbach, które utrwalają pętle, funkcje i pracę z warunkami w realnych problemach.
Wybierz ten moduł jeśli:
- Chcesz swobodnie operować pętlami i rozumieć, kiedy użyć break/continue,
- Chcesz pisać funkcje w sposób poprawny inżyniersko, z walidacją wejścia i kontrolą błędów,
- Chcesz połączyć teorię z praktyką na zadaniach, które przypominają codzienne problemy programistyczne.
Po ukończeniu modułu potrafisz rozłożyć program na funkcje, obsłużyć typowe błędy wejścia, stosować podstawowe wyjątki oraz rozwiązywać prostsze problemy algorytmiczne w kodzie.
Rozwijasz warsztat algorytmiczny na klasycznych zadaniach liczbowych: m.in. pierwszość, dzielniki, NWD/NWW, wspólne dzielniki, optymalizacja prostych obliczeń oraz sumowanie w przedziałach. Równolegle uczysz się porządkować projekt: przestrzenie nazw, zasięg zmiennych oraz świadome stosowanie const i constexpr (const-correctness), żeby kod był czytelniejszy i często bardziej przewidywalny już na etapie kompilacji.
Wybierz ten moduł jeśli:
- Chcesz trenować myślenie algorytmiczne bez uciekania od realnego kodu w C++,
- Chcesz rozumieć podstawowe optymalizacje obliczeń w prostych problemach,
- Chcesz nauczyć się porządku w większym programie zanim przejdziesz do wskaźników i klas.
Po ukończeniu modułu potrafisz samodzielnie rozwiązywać typowe problemy liczbowe, projektować sensowne granice pętli oraz organizować kod tak, by był łatwiejszy do czytania i rozwoju.
To etap, w którym model pamięci wchodzi na pierwszy plan: uzupełniasz wiedzę o typach, przechodzisz przez enum, auto i decltype, operatory (także w kontekście przeciążeń), tablice jedno- i dwuwymiarowe oraz szeroki blok o wskaźnikach — od podstaw, przez operacje i relacje z tablicami, po wskaźniki do funkcji i świadome rzutowania. Uzupełniasz też funkcje: referencje, argumenty domyślne, inline, podział na pliki (nagłówek/źródło), zwracanie referencji oraz constexpr w funkcjach.
Wybierz ten moduł jeśli:
- Chcesz realnie zrozumieć wskaźniki i tablice, zamiast omijać ten temat pobieżnie,
- Chcesz umieć dzielić kod na pliki i rozumieć typowy podział nagłówek/źródło,
- Chcesz połączyć niski poziom z nowoczesną składnią (auto, decltype, constexpr) w sposób uzasadniony.
Po ukończeniu modułu potrafisz czytać i pisać kod operujący na pamięci, rozumiesz relacje tablica–wskaźnik oraz projektujesz funkcje z sensownym kontraktem i strukturą plików.
Budujesz bardzo mocny warsztat pracy z tekstem i C-stringami — od typowych operacji po dłuższe serie zadań praktycznych utrwalających. Następnie wchodzisz w std::vector z biblioteki standardowej C++ jako pierwszy większy kontener dynamiczny, który realnie ułatwia pracę względem surowych tablic. Kończysz na strukturach i klasach: konstruktory, enkapsulacja oraz podział projektu na pliki w stylu większych programów — czyli realne programowanie obiektowe (OOP).
Wybierz ten moduł jeśli:
- Chcesz mieć pewność na tekście, bo to fundament formatów danych i komunikacji programu ze światem,
- Chcesz wejść w std::vector jako naturalny krok po tablicach,
- Chcesz zacząć myśleć obiektowo i przejść od skryptów do komponentów.
Po ukończeniu modułu swobodniej operujesz napisami, potrafisz wykorzystać vector w typowych zadaniach oraz tworzysz pierwsze klasy z jasnym interfejsem i rozdzielonymi plikami implementacji.
Przechodzisz od prostych klas do projektów klasowych z realnymi decyzjami o pamięci: tablice w klasie i problemy kopiowania, praca z std::vector jako członkiem klasy, składniki statyczne, metody w różnych kwalifikacjach (m.in. const, volatile, consteval), constexpr i mutable, przyjaźń i konwersje użytkownika, a także przeciążanie operatorów — także z podziałem na pliki. Ten blok obejmuje też budowę listy jednokierunkowej jako trening inżynierski łączący wskaźniki, OOP i utrzymanie kodu oraz pierwsze sensowne wejście w ideę RAII przez zarządzanie zasobami w klasie.
Wybierz ten moduł jeśli:
- Chcesz rozumieć reguły zarządzania zasobami w klasach, a nie polegać na przypadkowej skuteczności tylko w lokalnym środowisku,
- Chcesz projektować czytelne API klas z operatorami i konwersjami tam, gdzie mają sens,
- Chcesz przećwiczyć struktury danych na poziomie projektowym, nie tylko algorytmicznym.
Po ukończeniu modułu potrafisz projektować klasy z kontrolą kopii i stanu, świadomie używać static, budować sensowne operatory oraz implementować listę jednokierunkową jako spójny komponent.
Domykasz najcięższy warsztat obiektowy: semantykę przenoszenia i copy elision, listę dwukierunkową, unie i pola bitowe oraz std::variant. Następnie wchodzisz w dziedziczenie (także wielokrotne) oraz asocjacje, a potem w smart pointers (unique_ptr, shared_ptr, weak_ptr) i type traits potrzebne w nowoczesnym C++. Ten moduł jest też mostem do praktyk utrwalających polimorfizm i projektowanie relacji między obiektami — wraz z pierwszym, praktycznym wejściem w CMake, żebyś od razu wiązał podział kodu z realnym budowaniem projektu.
Wybierz ten moduł jeśli:
- Chcesz rozumieć move i jego koszty w realnych decyzjach projektowych,
- Chcesz przejść przez dziedziczenie bez chaosu i zobaczyć typowe scenariusze oraz ryzyka,
- Chcesz pracować jak przy większym kodzie — smart pointers, relacje obiektów, praktyki utrwalające.
Po ukończeniu modułu potrafisz świadomie dobierać narzędzia zarządzania zasobami, projektować prostsze hierarchie i relacje oraz czytać kod zbliżony do stylu produkcyjnego.
Po utrwaleniu polimorfizmu i pierwszych krokach z CMake przechodzisz do dobrych praktyk architektonicznych (SOLID) i dalej do szablonów — m.in. SFINAE, szablony wariadyczne i fold expressions, zmienne szablony, decltype(auto), parametry szablonów szablonów, wzorce oparte o szablony (m.in. CRTP), funktory, podejścia typu policy-based design oraz concepts z przykładami utrwalającymi projektowanie API pod typy. Uzupełniasz też nowoczesne API biblioteki standardowej: std::string_view, std::format i std::print, chrono oraz strefy czasowe, wyrażenia lambda i typowy workflow developerski (m.in. praca w środowisku zbliżonym do Linux/WSL).
Wybierz ten moduł jeśli:
- Chcesz przejść od nauki składni do pracy zbliżonej do realnego projektu, z CMake, konwencjami i dbałością o architekturę,
- Chcesz opanować szablony i concepts jako narzędzia utrzymania typów, a nie wyłącznie abstrakcyjne omówienia bez praktyki,
- Chcesz pisać nowoczesny kod std wokół tekstu, formatowania, czasu i funkcji lambda,
- Chcesz poczuć się pewniej środowiskowo w typowych setupach developerskich.
Po ukończeniu modułu potrafisz zestawić i rozwijać projekt z CMake, stosować SOLID w realnych decyzjach, projektować rozwiązania szablonowe z concepts tam, gdzie to poprawia czytelność i bezpieczeństwo typów, oraz korzystać z nowoczesnych narzędzi biblioteki standardowej wokół tekstu, formatowania, czasu i lambd.
Po ukończeniu głównej ścieżki kursu masz gotowy, spójny fundament do dalszej specjalizacji w ekosystemie C++. Potrafisz pisać poprawny kod od poziomu pamięci i funkcji, przez klasy i polimorfizm, po nowoczesne mechanizmy typów i narzędzia budowy. To oznacza, że możesz świadomie wybrać kolejny krok: wejście głębiej w wydajność i optymalizację, programowanie systemowe, pracę z dużymi bazami kodu, rozwój bibliotek, albo specjalizacje bliżej konkretnej domeny (np. gry, audio, embedded — w zależności od Twoich celów).
Program został zaprojektowany tak, aby naturalnie prowadzić od fundamentów do kompetencji zbliżonych do pracy projektowej: rozumiesz koszty abstrakcji, potrafisz zarządzać zasobami, projektować hierarchie i stosować narzędzia nowoczesnego C++ tam, gdzie realnie poprawiają jakość systemu.
Rekomendowana ścieżka rozwoju po tym kursie to: fundament języka i pamięć → obiektowość i polimorfizm → narzędzia budowy oraz nowoczesne mechanizmy i biblioteka standardowa w wybranych obszarach, dalej projekty portfolio w CMake i specjalizacja domenowa, np. systemy, wydajność, wielowątkowość, sieci lub biblioteki natywne, zgodnie z Twoim celem zawodowym.
Kurs jest aktywnie rozwijany: na bieżąco powstają nowe materiały, rozszerzenia i utrwalenia tematów. Zapis w fazie rozwoju treści pozwala uzyskać dostęp po cenie niższej od planowanej docelowej, przy czym cennik będzie sukcesywnie aktualizowany w górę w miarę udostępniania kolejnych modułów i uzupełnień. W praktyce oznacza to możliwość wejścia wcześniej w pełną ścieżkę nauki po korzystniejszych warunkach finansowych, proporcjonalnie do zakresu dostępnych w danym momencie materiałów.
Rozpocznij ten kurs
Zajrzyj na mój kanał YouTube
-
Nowoczesny C++ w praktyce. Poznaj potęgę custom formatterów i std::println w C++23!
-
Nowoczesny C++ w praktyce. Lista dwukierunkowa z pełnym wsparciem STL. #7
-
Nowoczesny C++ w praktyce. Lista dwukierunkowa z pełnym wsparciem STL. #6
-
Nowoczesny C++ w praktyce. Lista dwukierunkowa z pełnym wsparciem STL. #5
-
Nowoczesny C++ w praktyce. Lista dwukierunkowa z pełnym wsparciem STL. #4
-
Nowoczesny C++ w praktyce. Lista dwukierunkowa z pełnym wsparciem STL. #3





