Wybierz swój język
Kurs programowania w C/C++
Ponad 2 miliony studentów na całym świecie

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.

Dedika dla firm

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.

Kliknij tutaj

Treść kursu

8 Rozdziały • 40 LekcjeCzas trwania od 4 do 360 godzin (Ty decydujesz)

Rozdział 1Zobacz szczegóły

Ś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ł 2Zobacz szczegóły

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ł 3Zobacz szczegóły

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ł 4Zobacz szczegóły

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ł 5Zobacz szczegóły

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ł 6Zobacz szczegóły

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ł 7Zobacz szczegóły

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ł 8Zobacz szczegóły

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.

Certyfikacja

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...
Giulio Carlo
Giulio CarloStudent Marketingu Cyfrowego
Podoba mi się, jak lekcje są konkretne i jak mogę przełączać rozdziały i pomijać treści, których nie potrzebuję.
Mariana Ferres
Mariana FerresStudentka Fotografii
Podoba mi się treść i sposób prezentacji oraz transkrypcja filmów, co przyspiesza proces!
Luciana Alvarenga
Luciana AlvarengaStudentka Stylizacji Paznokci
Platforma jest szybka, prosta w użyciu. Różnorodność treści i filmy uzupełniające bardzo pomagają w nauce.
André Felipe
André FelipeStudent Inżynierii Promptów

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