
Kurs programowania w C/C++
Opanuj C i C++ od podstaw, obejmując wszystko od surowej pamięci i wskaźników po nowoczesne funkcje C++20, wzorce projektowe i systemy współbieżne. Ten kurs zapewnia techniczną głębię, którą profesjonalni programiści i inżynierowie systemowi faktycznie wykorzystują w pracy. Niezależnie od tego, czy celujesz w oprogramowanie wbudowane, aplikacje o wysokiej wydajności czy rozmowy techniczne, zdobędziesz realne, gotowe do wdrożenia umiejętności.
Czego się nauczysz:
Zbudujesz kompletną podstawę składni C i C++, zarządzania pamięcią oraz programowania obiektowego, zanim przejdziesz do szablonów, Standardowej Biblioteki Szablonów i nowoczesnych funkcji C++17/20. Kurs obejmuje struktury danych i algorytmy zaimplementowane od podstaw, dając Ci umiejętności rozwiązywania problemów potrzebne na rozmowach technicznych i przy pracy z systemami. Nauczysz się również korzystać z narzędzi standardowych w branży, w tym CMake, GDB, Google Test i analizatorów statycznych. Tematy związane z programowaniem wbudowanym i niskopoziomowym przygotują Cię do tworzenia oprogramowania sprzętowego i niskopoziomowego. Po ukończeniu kursu będziesz przygotowany do projektowania, budowania i wdrażania solidnego oprogramowania C++ w środowiskach zawodowych.
Jak uczysz się w praktyce Kurs programowania w C/C++
Jak ćwiczysz Kurs programowania w C/C++
Dla firm, które chcą szkolić swój zespół
W Dedika dla firm kurs zawiera ćwiczenia i przykłady dostosowane do Twojego biznesu i potrzeb Twojej firmy.
Treść kursu
8 Rozdziały • 40 LekcjeCzas trwania od 4 do 360 godzin (Ty decydujesz)
Rozdział 1UkryjUkryj szczegółyZobacz szczegółyŚrodowisko C/C++ i podstawy składni
Środowisko C/C++ i podstawy składni
Lekcja 1 • Zmienne, typy i literały
Wprowadza podstawowe typy danych, deklarację zmiennych i wartości literałowe. Opanowanie tego zagadnienia umożliwia poprawną reprezentację danych w całym kursie.
Lekcja 2 • Podstawy wejścia i wyjścia
Uczy konsolowego wejścia/wyjścia przy użyciu printf/scanf w C oraz cin/cout w C++. Umożliwia tworzenie interaktywnych programów wymaganych w każdym ćwiczeniu praktycznym.
Lekcja 3 • Operatory i wyrażenia
Obejmuje operatory arytmetyczne, relacyjne, logiczne i bitowe wraz z regułami pierwszeństwa. Buduje umiejętność tworzenia wyrażeń niezbędną dla wszystkich konstrukcji sterujących i algorytmów.
Lekcja 4 • Podstawowa składnia i struktura programu
Obejmuje tokeny, instrukcje, bloki i anatomię pliku źródłowego C/C++. Bezpośrednio łączy się z pisaniem dowolnego poprawnego programu w późniejszych rozdziałach.
Lekcja 5 • Konfiguracja środowiska programistycznego
Zainstaluj i skonfiguruj kompilatory, edytory i narzędzia do budowania dla C/C++. Zapewnia podstawę techniczną, od której zależy każdy kolejny rozdział.
Rozdział 2UkryjUkryj szczegółyZobacz szczegółyPrzepływ sterowania i funkcje
Przepływ sterowania i funkcje
Lekcja 1 • Deklaracja i definicja funkcji
Wprowadza prototypy funkcji, definicje i mechanizmy wywoływania w C/C++. Ustanawia zasady modułowego projektowania używane w całym kursie.
Lekcja 2 • Zasięg, czas życia i klasy pamięci
Wyjaśnia zmienne lokalne, globalne i statyczne oraz ich czas życia. Zapobiega typowym błędom związanym z niezainicjalizowanymi lub nieprawidłowo określonymi zasięgami zmiennych.
Lekcja 3 • Podstawy rekurencji
Obejmuje projektowanie funkcji rekurencyjnych, przypadki bazowe i zachowanie stosu. Przygotowuje studentów do algorytmów rekurencyjnych i struktur danych w późniejszych rozdziałach.
Lekcja 4 • Instrukcje warunkowe
Obejmuje konstrukcje if, else-if i switch do podejmowania decyzji. Bezpośrednio umożliwia tworzenie programów sterowanych logiką, na których opierają się wszystkie kolejne rozdziały.
Lekcja 5 • Pętle i iteracja
Uczy pętli for, while i do-while wraz z instrukcjami sterującymi pętlami. Iteracja jest kręgosłupem algorytmów i przetwarzania danych omawianych później.
Rozdział 3UkryjUkryj szczegółyZobacz szczegółyTablice, łańcuchy i wskaźniki
Tablice, łańcuchy i wskaźniki
Lekcja 1 • Łańcuchy stylu C i funkcje łańcuchowe
Uczy tablic znaków zakończonych nullem i standardowych funkcji biblioteki łańcuchowej. Zapewnia podstawy łańcuchów C potrzebne przed wprowadzeniem std::string w C++.
Lekcja 2 • Dynamiczne przydzielanie pamięci
Uczy malloc/free w C oraz new/delete w C++ do zarządzania stertą. Kładzie podwaliny pod dynamiczne struktury danych omówione w następnym rozdziale.
Lekcja 3 • Tablice jedno- i wielowymiarowe
Obejmuje deklarację tablic, inicjalizację i wzorce dostępu do elementów. Tablice stanowią podstawę prawie każdej struktury danych wprowadzanej później w kursie.
Lekcja 4 • Wskaźniki i funkcje
Obejmuje przekazywanie wskaźników do funkcji i bezpieczne zwracanie wskaźników. Umożliwia wydajną manipulację danymi bez niepotrzebnego kopiowania.
Lekcja 5 • Podstawy wskaźników i arytmetyka adresów
Wprowadza deklarację wskaźników, dereferencję i arytmetykę wskaźników. Wskaźniki są kluczowe dla dynamicznej pamięci i programowania niskiego poziomu w późniejszych rozdziałach.
Rozdział 4UkryjUkryj szczegółyZobacz szczegółyStruktury, unie i wyliczenia
Struktury, unie i wyliczenia
Lekcja 1 • Wyliczenia i aliasy typów
Obejmuje wyliczenia C, enum class C++ oraz deklaracje typedef/using. Poprawia czytelność kodu i bezpieczeństwo typów we wszystkich kolejnych projektach.
Lekcja 2 • Pola bitowe i dane spakowane
Wprowadza elementy członkowskie struktury będące polami bitowymi do kompaktowej reprezentacji danych. Istotne w analizie protokołów i mapowaniu rejestrów sprzętowych w zaawansowanych tematach.
Lekcja 3 • Wskaźniki do struktur
Uczy dostępu do struktury przez wskaźnik i dynamicznego przydzielania struktur. Umożliwia tworzenie połączonych struktur danych zbudowanych w rozdziale o algorytmach.
Lekcja 4 • Unie i współdzielenie pamięci
Wyjaśnia semantykę unii, nakładanie się pamięci i poprawne przypadki użycia. Zapewnia wgląd w pamięć niskiego poziomu istotny dla programowania wbudowanego i systemowego.
Lekcja 5 • Definiowanie i używanie struktur
Obejmuje deklarację struktury, dostęp do składowych i struktury zagnieżdżone. Struktury są bezpośrednim prekursorem klas C++ wprowadzonych w następnym rozdziale.
Rozdział 5UkryjUkryj szczegółyZobacz szczegółyProgramowanie obiektowe w C++
Programowanie obiektowe w C++
Lekcja 1 • Polimorfizm i funkcje wirtualne
Wprowadza funkcje wirtualne, czyste funkcje wirtualne i klasy abstrakcyjne. Umożliwia stosowanie wzorców dynamicznego wysyłania, kluczowych dla rozszerzalnego projektowania oprogramowania.
Lekcja 2 • Dziedziczenie i hierarchie klas
Obejmuje dziedziczenie pojedyncze i wielokrotne, dostęp do klasy bazowej i łączenie konstruktorów. Buduje umiejętności projektowania hierarchii potrzebne do polimorfizmu.
Lekcja 3 • Enkapsulacja i zasady projektowania
Stosuje zasady SOLID i strategie enkapsulacji w projektowaniu klas. Przygotowuje studentów do pisania łatwego w utrzymaniu i testowalnego kodu C++ w zaawansowanych rozdziałach.
Lekcja 4 • Przeładowanie operatorów
Uczy przeładowywania operatorów arytmetycznych, porównania i strumieniowych dla niestandardowych typów. Umożliwia intuicyjną składnię dla klas zdefiniowanych przez użytkownika używanych w późniejszych projektach.
Lekcja 5 • Klasy i obiekty
Obejmuje deklarację klasy, specyfikatory dostępu i tworzenie instancji obiektów. Ustanawia model klasy, który wszystkie cechy programowania obiektowego w tym rozdziale rozszerzają.
Rozdział 6UkryjUkryj szczegółyZobacz szczegółySzablony, STL i programowanie generyczne
Szablony, STL i programowanie generyczne
Lekcja 1 • Algorytmy STL
Obejmuje sort, find, transform, accumulate i inne standardowe algorytmy. Stosowanie algorytmów STL zastępuje podatne na błędy ręczne pętle w kodzie produkcyjnym.
Lekcja 2 • Szablony funkcji i klas
Obejmuje składnię szablonów, parametry typów i instancjonowanie szablonów. Generyczne funkcje i klasy redukują powielanie kodu we wszystkich przyszłych projektach.
Lekcja 3 • Kontenery STL
Wprowadza vector, list, deque, map, set i ich nieuporządkowane warianty. Wybór odpowiedniego kontenera ma kluczowe znaczenie dla wydajności w projektowaniu algorytmów.
Lekcja 4 • Wyrażenia lambda i funktory
Wprowadza składnię lambd, listy przechwytywania i obiekty funktorów do użycia z STL. Umożliwia zwięzłą, ekspresyjną personalizację algorytmów w nowoczesnym C++.
Lekcja 5 • Iteratory i zakresy
Uczy kategorii iteratorów, arytmetyki iteratorów i pętli for opartych na zakresie. Iteratory są uniwersalnym interfejsem między kontenerami a algorytmami.
Rozdział 7UkryjUkryj szczegółyZobacz szczegółyZarządzanie pamięcią i bezpieczeństwo zasobów
Zarządzanie pamięcią i bezpieczeństwo zasobów
Lekcja 1 • Obsługa wyjątków i bezpieczeństwo
Obejmuje składnię try/catch/throw, hierarchie wyjątków i gwarancje bezpieczeństwa wyjątków. Solidna obsługa błędów zapobiega wyciekom zasobów w wyjątkowych warunkach.
Lekcja 2 • RAII i własność zasobów
Wyjaśnia idiom RAII i sposób, w jaki konstruktory/destruktory egzekwują bezpieczeństwo zasobów. RAII jest podstawą bezpiecznego zarządzania zasobami w nowoczesnym C++.
Lekcja 3 • Inteligentne wskaźniki w szczegółach
Obejmuje semantykę i wzorce użycia unique_ptr, shared_ptr i weak_ptr. Inteligentne wskaźniki eliminują ręczne wywołania delete i zapobiegają błędom własności.
Lekcja 4 • Semantyka kopiowania i przenoszenia
Uczy konstruktorów kopiujących, przypisania kopiującego, konstruktorów przenoszących i przypisania przenoszącego. Reguła pięciu rządzi poprawnym projektowaniem klas posiadających zasoby.
Lekcja 5 • Debugowanie i profilowanie pamięci
Wprowadza narzędzia do wykrywania wycieków, nieprawidłowych dostępów i uszkodzeń sterty. Umiejętności profilowania są niezbędne do utrzymania kodu C++ o jakości produkcyjnej.
Rozdział 8UkryjUkryj szczegółyZobacz szczegółyOperacje wejścia/wyjścia na plikach, współbieżność i programowanie systemowe
Operacje wejścia/wyjścia na plikach, współbieżność i programowanie systemowe
Lekcja 1 • Wielowątkowość z std::thread
Uczy tworzenia, dołączania i odłączania wątków przy użyciu biblioteki wątków C++11. Podstawy współbieżności umożliwiają projektowanie równoległych programów w tym rozdziale.
Lekcja 2 • Interfejsy procesów i systemu
Wprowadza tworzenie procesów, zmienne środowiskowe i wywołania systemowe. Zapewnia kontekst na poziomie systemu operacyjnego potrzebny do pisania programów systemowych w C.
Lekcja 3 • Podstawy sieci i gniazd
Wprowadza API gniazd BSD do komunikacji TCP/UDP w C/C++. Umiejętności sieciowe rozszerzają aplikacje C/C++ o konteksty rozproszone i klient-serwer.
Lekcja 4 • Synchronizacja i wyścigi danych
Obejmuje muteksy, zmienne warunkowe i operacje atomowe, aby zapobiegać wyścigom danych. Bezpieczna synchronizacja jest obowiązkowa dla poprawnych programów współbieżnych.
Lekcja 5 • Operacje wejścia/wyjścia na plikach w C i C++
Obejmuje fopen/fclose w C oraz fstream w C++ do odczytu i zapisu plików. Operacje wejścia/wyjścia na plikach są wymagane do trwałości danych we wszystkich projektach końcowych.
Twój ważny certyfikat ukończenia
Ten kurs jest dla Ciebie:
Studenci informatyki: szukający praktycznej głębi, której często brakuje na zajęciach.
Programiści Pythona lub JavaScriptu: gotowi zrozumieć, co dzieje się poniżej warstwy abstrakcji.
Inżynierowie elektronicy: potrzebujący umiejętności C do pisania i utrzymywania oprogramowania sprzętowego.
Osoby zmieniające karierę: celujące w role systemowe lub wbudowane wymagające biegłości w programowaniu niskopoziomowym.
Twórcy gier: chcący zoptymalizować kod wymagający wydajności napisany w C lub C++.
Samoucy: budujący solidne podstawy, których wymagają języki strukturalne takie jak C.
Co mówią nasi uczniowie
Wasze lekcje są doskonałe. Kupiłem pakiet roczny i w końcu mam możliwość śledzenia różnych tematów, które mnie interesują, bez konieczności zmiany platformy... dziękuję za wszystko, co robicie, już polecałem was innym osobom...

Podoba mi się, jak lekcje są konkretne i jak mogę przełączać rozdziały i pomijać treści, których nie potrzebuję.

Podoba mi się treść i sposób prezentacji oraz transkrypcja filmów, co przyspiesza proces!

Platforma jest szybka, prosta w użyciu. Różnorodność treści i filmy uzupełniające bardzo pomagają w nauce.

Najważniejsze szkolenia
FAQ
Kim jest Dedika?
Czy certyfikat jest ważny w Polska?
Czy kursy są darmowe?
Jaki jest wymiar godzinowy kursu?
Jak wyglądają kursy?
Jak działają kursy?
Jaki jest czas trwania kursów?
Jaki jest koszt lub cena kursów?
Czym jest kurs EAD lub kurs online i jak działa?
Kurs PDF




















