fbpx

Kursy C++

Masz już jakiś kurs?

Oto nasz katalog kursów i szkoleń języka C++

OFERTA SPECJALNA

Dni
Godziny
Minuty
Sekundy

Promocyjna cena obowiązuje do 08.07.2022. Zakup kurs teraz i zapłać mniej

Zarządzanie pamięcią i zasobami w C++

Zarządzanie pamięcią i zasobami w C++

Jak alokować na stercie, a jak na stosie? Jak wyjątki przyspieszają kod? Użyć wskaźników zwykłych, czy tych sprytniejszych? A może cieknie Ci pamięć? Oto kompendium wiedzy dla tych, którzy chcą się nazywać prawdziwymi programistami C++.

Postęp prac 95%
Podstawy C++

Podstawy C++

Zwięźle, praktycznie, nowocześnie. Coś dla osób początkujących. Nie jest to szkolenie od zera. Mile widziane wcześniejsze próby oswojenia C++. Dobry wstęp do naszych pozostałych szkoleń.

Narzędzia programisty

Narzędzia programisty

Najbardziej praktyczny kurs z narzędzi programistycznych i devopsowych. Poznaj narzędzia programisty niezbędne nie tylko w programowaniu w C++.

Biblioteka STL

Biblioteka STL

Najbardziej merytoryczny kurs STL-a po polsku. Naucz się pisać idiomatyczny kod bez pętli w C++20.

Programowanie obiektowe w C++

Programowanie obiektowe w C++

Polimorficzny wirtualny destruktor? Kompozycja czy agregacja? Zasady SOLID? Można prościej? U nas tak! Naucz się pisać testowalny kod w paradygmacie obiektowym i projektuj swoje klasy zgodnie ze sztuką.

Nowoczesny C++

Nowoczesny C++

Standardy C++11, C++14, C++17, C++20, a nawet C++23. Dowiedz się jak pisze się nowoczesny kod. Ten kurs uświadomi Ci, jak dużo materiałów w internecie jest przestarzałych i jak wiele rzeczy można zrobić prościej z użyciem nowych standardów.​

Postęp prac 70%

Cena docelowa: 699 zł

Szablony w C++

Szablony w C++

Najbardziej mroczna część C++, której boją się nawet seniorzy. Opanuj metaprogramowanie, poznaj szablony funkcji, klas, zmiennych i aliasów. Opanuj szablony wariadyczne i pisz generyczny, a jednocześnie optymalny kod, ​

Postęp prac 40%

Cena docelowa: 649 zł

Testowanie kodu

Testowanie kodu w C++​

Nie jestem testerem, po co mam pisać testy?! Po to, żeby nie tracić tygodni na poprawianie błędów matole! Testy jednostkowe to obowiązek każdego programisty. Nauczymy Cię GTesta, Catch2 i TDD. To szkolenie całkowicie zmieni Twój sposób pisania kodu.​

Postęp prac 30%

Cena docelowa: 599 zł

Dobre praktyki w C++

Dobre praktyki

Umiesz pisać programy, ale czujesz, że Twój kod śmierdzi? Brakuje mu tego czegoś? Wygląda jak przez okno? Naucz się nazywać zmienne, formatować kod i stosować ogólnie przyjęte konwencje. Twój kod będzie się czytało jak wciągający kryminał.

Postęp prac 80%

Cena docelowa: 299 zł

Wzorce Projektowe

Wzorce projektowe​

Gang of Four brzmi jak nowojorska grupa przestępcza? Idiomy to coś dla idiotów? Odczarujemy je. Nauczymy Cię popularnych wzorców - Dekoratorów, Fasad, Fabryk, Obserwatorów, Strategii oraz C++'owych idiomów - RAII, SFINAE, PIMPL, SOO i innych.

Postęp prac 5%
Wielowątkowość i współbieżność w C++

Wielowątkowość i współbieżność w C++​

Opanuj mroczne arkana programowania współbieżnego i przyspiesz swoje programy. Używaj wątków, muteksów, zadań asynchronicznych. Unikaj zakleszczeń, wywłaszczeń, walki o zasoby i... gry w ping ponga z pamięcią cache.​

Postęp prac 20%
Rekrutacja w IT

Rekrutacja w IT (C++)​

Dowiedz się, jak zdobyć pierwszą pracę bez doświadczenia w branży. Odpicuj swoje CV i profil na LinkedIn. Wpisz odpowiednie projekty, dowiedz się z czego się przygotować, gdzie szukać pracy i o co zapytać przyszłego pracodawcę.​

Postęp prac 80%

Cena docelowa: 249 zł

Mapa kursów Coders School

Pomoc w poszukiwaniu umiejętności kodzenia w C++

Mapa Kursów Coders School

Uczymy dobrych praktyk

				
					// Complicated types are not readable - avoid them
std::vector<std::pair<uint8_t, uint8_t>> compressGrayscale(std::array<std::array<uint8_t, width>, height>&);
std::array<std::array<uint8_t, width>, height> decompressGrayscale(std::vector<std::pair<uint8_t, uint8_t>>&);


// Domain names are much better
CompressedImage compressGrayscale(const Image& bitmap);
Image decompressGrayscale(const CompressedImage& compression);

// Create aliases to achieve it
using Image = std::array<std::array<uint8_t, width>, height>;
using CompressedImage = std::vector<std::pair<uint8_t, uint8_t>>;
				
			
				
					// Always initialize your data

int index = 0;              // ok
bool completed;             // bad
bool finished = false;      // ok

if (completed) {            // very bad
    // ...
}

struct Node {
    Node* next = nullptr;   // ok
    int value = 0;
}
				
			
				
					// Create code formatting rules and guides, use .clang-format

class SuperWarrior {
public:
    SuperWarrior(int level, int strength, int dexterity)
        : level_(level)
        , strength_(strength)
        , dexterity(dexterity)
    {
        if (level_ >= 10) {
            mana_ = 50;
        }
    }

private:
    int level_ = 1;
    int strength_ = 50;
    int dexterity_ = 10;
    int mana_ = 0;
};
				
			

Mamy mnóstwo zagadek

				
					void foo()
{
    double x[1'048'576];
    x[0] = 10;
}

int main()
{
    foo();
    return 0;
    // What happens here?
}
				
			
				
					#include <future>
#include <iostream>
#include <string>

int main() {
    std::string x = "x";

    std::async(std::launch::async, [&x]() {
        x = "y";
    });
    std::async(std::launch::async, [&x]() {
        x = "z";
    });

    std::cout << x;
    // Why the value of x is always "z"?
}

				
			

Używamy szablonów, frameworków i C++20

				
					#include <gtest/gtest.h>
#include <algorithm>
#include <iostream>
#include <map>
#include <string>
#include <vector>

using Price = int;
using Quantity = int;
using Value = int;  // Price * Quantity

struct Order {
    Quantity quantity;
    std::string orderId;   // TODO: C-string? Exactly 4 chars
};

class MatchingEngine {
    using BuyOrders = std::multimap<Price, Order, std::greater<Price>>;
    using SellOrders = std::multimap<Price, Order>;
    BuyOrders buyOrders_;
    SellOrders sellOrders_;

    template <typename SideContainer>
    void addOrder(SideContainer & sideContainer, Price price, const Order & order) {
        sideContainer.emplace(price, order);
    }

    template <typename SideContainer>
    void eraseOrders(SideContainer & sideContainer, SideContainer::const_iterator it) {
        sideContainer.erase(sideContainer.cbegin(), it);
    }
    
public:
    // TODO: Add missing implementation
};

struct MatchineEngineFixture : public testing::Test {
    MatchingEngine me{};

    void SetUp() override {
        auto buyOrders = me.getBuyOrdersList();
        auto sellOrders = me.getSellOrdersList();
        ASSERT_EQ(buyOrders, "B:");
        ASSERT_EQ(sellOrders, "S:");
    }

    void checkOrderBooksAfterSingleOp(const std::string & input,
                                      const std::string & buyOrders,
                                      const std::string & sellOrders) {
        auto result = parse(me, input);
        auto bo = me.getBuyOrdersList();
        auto so = me.getSellOrdersList();
        ASSERT_EQ(result, 0);
        ASSERT_EQ(bo, buyOrders);
        ASSERT_EQ(so, sellOrders);
    }
};


TEST_F(MatchineEngineFixture, SubmitOneLimitBuyOrder) {
    checkOrderBooksAfterSingleOp("SUB LO B ABcd 100 12", "B: 100@12#ABcd", "S:");
}
				
			
				
					#include "catch_amalgamated.hpp"
#include <algorithm>
#include <string>
#include <vector>

SCENARIO("Testing sort with a custom comparator", "[vector][sort][greater]") {
    GIVEN("vector v") {
        auto v = GENERATE(std::vector{1, 2, 3},
                          std::vector{1, 3, 2},
                          std::vector{2, 1, 3},
                          std::vector{2, 3, 1},
                          std::vector{3, 1, 2},
                          std::vector{3, 2, 1});

        WHEN("sort is called with std::ranges::greater functor") {
            std::ranges::sort(v, std::ranges::greater{});

            THEN("v is {3, 2, 1}") {
                std::vector expected = {3, 2, 1};
                REQUIRE(v == expected);
            }
        }
    }
}

SCENARIO("Testing sort algorithm on string", "[string][sort]") {
    GIVEN("A simple string s = textTEXT") {
        std::string s = "textTEXT";

        WHEN("The string is sorted") {
            std::ranges::sort(s);

            THEN("The result is ETTXettx") {
                REQUIRE(s == "ETTXettx");
            }
        }
    }
}
				
			

Kto mnie uczy?

Łukasz Ziobroń

Łukasz to założyciel Coders School. Jest programistą specjalizującym się w C++ oraz Pythonie. Ma wieloletnie doświadczeniem zawodowe. W wieku 15 lat zaczynał od technologii webowych, takich jak PHP, CSS, JavaScript, a jeśli liczyć HTMLa, to "programował strony internetowe" już w 4 klasie podstawówki 🙂 Przygodę z C++ zaczął w 2006 roku, ale dopiero od 2012 używał go komercyjnie.

Łukasz od 2014 roku prowadzi szkolenia z programowania. Był trenerem Nokia Academy. Występował na konferencji programistycznej code::dive. Prowadził kursy programowania na uczelniach i wygłaszał prelekcje na Meetupach, Wrocławskiej grupie C++ oraz Akademickich Mistrzostwach Polski w Programowaniu Zespołowym.

Pod koniec 2017 roku Łukasz postanowił szkolić na własną rękę i założył szkołę Coders School. Jego kursy zawsze nastawione były na jak najprostsze przekazywanie wiedzy oraz sprawianie, aby ta wiedza na długo zostawała w pamięci.

Interesuje się andragogiką (nauczaniem dorosłych), sztuczną inteligencją, fotografią i łucznictwem, a ostatnio także marketingiem. Fan StarCrafta.

Opinie i rekomendacje

Andrzej Barecki
Andrzej BareckiMobile Devices Engineer w GlobalLogic Poland
Czytaj więcej
Kurs C++ prowadzony przez Coders School to był strzał w dziesiątkę. Kurs ten nie tylko skupia się na samej składni języka C++ co jest również ważne ale przede wszystkim porusza wiele zagadnień ważnych w codziennej pracy na stanowisku programisty C++. Uważam iż jest to największy plus tej szkoły i doceniam to podejście będąc wieloletnim programistą języka C. Podczas kursu realizowaliśmy projekty zarówno indywidualne jak i grupowe które od samego początku były prowadzone na github. Dzięki czemu pogłębiłem np. wiedzę z zakresu pracy z repozytorium git oraz opcje związane z zakładaniem i konfiguracją projektów na github. Ogólnie jeśli ktoś rozważa poszerzenie swoich kompetencji jako programista C++ to szkoła Coders School spełni te oczekiwania.
Piotr Nikiel
Piotr NikielSoftware Developer w GRINN
Czytaj więcej
Dostałem pracę w GRINN jako junior embedded od stycznia 2021. Moim sposobem na znalezienie pracy było zrobienie solidnego projektu wraz z opisem. Zachęcam do rzucenia okiem 🙂 https://github.com/pnkk85/SD_AI_car. Wiem, że kod można poprawić w paru miejscach, ale zabrałem się już za inne sprawy jak TDD, Zephyr, różne mikrokontrolery, CMake dla embedded żeby nie korzystać z dedykowanych IDE, itd. Kurs wielowątkowości w Coders School to był strzał w dziesiątkę i bardzo mi pomógł przy nauce FreeRTOS. Czytając dokumentację FreeRTOS od razu wiedziałem o co chodzi z semaforami, notyfikacjami, priorytetami, schedulerem itd 🙂 Zdecydowanie polecam wielowątkowość dla programistów embedded.
Andrzej Ganczarek
Andrzej Ganczarek
Czytaj więcej
Kurs został przeprowadzony na bardzo wysokim poziomie pod względem merytorycznym jak i praktycznym. Bardzo dobre przygotowanie, doświadczenie, przyjazna postawa i zaangażowanie Prowadzącego. W sposób przystępny przekazuje wiedzę, jest otwarty na pytania z sali. Wiedza teoretyczna jest od razu utrwalana na zajęciach w czasie praktycznych ćwiczeń. Zajęcia są prowadzone w niestresujący sposób. Uzupełniłem swoje dotychczasowe wiadomości i umiejętności na temat STL, Gita, o kolejne elementy takie jak testy jednostkowe w Google Test, technikę programowania w stylu Test-driven development, oraz jak wykorzystać Continuous Integration w projektach. Doskonałym doświadczeniem było kodowanie w Dojo, oraz projekty z wykorzystaniem techniki SCRUM. Polecam kurs wszystkim osobom, którzy znają C++, oraz chcą poszerzyć ją podczas praktycznych zajęć.
Rafał Modzelewski
Rafał ModzelewskiVba Developer at Atos
Czytaj więcej
What I can say, superb way to teaching C++ and programming in general. Łukasz was always prepared for course as well as for any question that appeared during classes. He was always putting a lot of effort to make us as comfortable as possible so we can learn all those complicated stuff (not so complicated now - after course). If you are looking for programming course with great price-value this should be your first choice.
Karol Dulemba
Karol DulembaProgramista w Roottel
Czytaj więcej
Gorąco polecam kurs C++ z Coders School. Zajęcia są bardzo dobrze ułożone, dzięki czemu systematycznie jesteś wprowadzany w świat programowania. Co najważniejsze, masz czas na naukę, ponieważ kurs jest prowadzony w sposób przystępny, gdzie po każdych zajęciach są 2-3 dni na rozwiązanie zadań domowych. W ramach kursu poznajesz podstawy, jak i bardziej zaawansowane możliwości C++. Dodatkowo, i co chyba najważniejsze, Łukasz nauczy Cię nowych narzędzi, które przydatne są w pracy każdego programisty, z każdym językiem programowania. Zachęcam do skorzystania z kursu!
Tomasz Szpytma
Tomasz SzpytmaC++ Software Engineer
Czytaj więcej
Niedawno ukończyłem kurs C++ w Coders School. Kurs był po prostu świetny. Pracę jako programista znalazłem jeszcze w czasie jego trwania. Kurs jest bardzo dobrze zorganizowany, zadania domowe oraz projekty zespołowe bardzo pomagają w utrwaleniu wiedzy oraz rozwijaniu kompetencji. Trener tłumaczy wszystkie, nawet najbardziej zawiłe zagadnienia w bardzo przystępny i zrozumiały sposób. Poza aktualną wiedzą o samym języku (co jest bardzo ważne ponieważ na studiach przekazywana jest wiedza sprzed dekady) na kursie można nauczyć się wielu rzeczy, których nie ma na studiach oraz są pomijane we wielu kursach jak pracę w metodologii SCRUM oraz TDD. Taka wiedza bardzo przydaje się przy szukaniu pierwszej pracy i znaczenie pozwala się wyróżnić pośród innych kandydatów. Ogólnie polecam ten kurs wszystkim którzy chcą zostać programistami C++.
Justyna Walkowiak
Justyna WalkowiakC++ Software Engineer at Nokia Networks
Czytaj więcej
Serdecznie polecam każdemu aspirującemu programiście kurs z inżynierii oprogramowania w Coders School. Nie tylko nauczyłam się niuansów języka C++, ale również typowych narzędzi używanych w pracy programisty, jak kontrola wersji i rozwój oprogramowania typowo pod systemem Linux. Poznałam również dobre praktyki programistyczne oraz nauczyłam się pracy w TDD. Trener zawsze służy pomocą, nie tylko na zajęciach, ale też poza nimi i rozwiera wszelkie wątpliwości. Kurs w Coders School to doskonała inwestycja w przyszłość. Polecam najmocniej :).
Dariusz Bąk
Dariusz Bąk
Czytaj więcej
Polecam zajęcia, zajęcia prowadzone są w przemyślany sposób, natomiast prowadzący tłumaczy w sposób bardzo zrozumiały. Przez dwa m-ce nauczyłem się więcej niż przez dwa lata studiów
Maciej Regulski
Maciej RegulskiDeveloper at Zeiss, Owner at Datacom Embedded Systems
Czytaj więcej
Łukasz is devoted C++ evangelist. He has significant knowledge and experience with software development and OOP. It has been a great pleasure attending the C++ classes with Łukasz as a teacher. During classed Łukasz was focused on passing the high quality knowledge to fellow developers. I recommend the classes to everyone who wants to master modern C++ skills.
Adam Oleksy
Adam Oleksy
Czytaj więcej
I met Łukasz in the role of a teacher during his course on software engineering (C ++). Łukasz as a teacher is very professional and can adjust the way of knowledge transfer to listeners, I think that this is one of the most important characteristic of a good teacher. He impressed me with the knowledge he have while being humble. Speaking of the course I feel that I learned the concrete things that are needed in the future work of the programmer. We have been teached on topics related to programming, for example, STL library, novelties introduced in C ++ standards and testing but also topics connected to programming like compilation, versioning, ways of working and coding practices. I'm glad i took this course and haapy that Łukasz lead it.
Rafał Nowak
Rafał NowakSoftware developer @ NoMachine
Czytaj więcej
I had a pleasure to take part in a C++ course (Coders School) led by Łukasz. The classes were well organized -appropriate length of lessons and breaks, perfect balance between theory and practice, many learning materials and projects (both group and individual). Łukasz is a great teacher and mentor. He can perfectly explain the most difficult issues related to C++. Thanks to his course I have learned many new things such as TDD, google tests, SCRUM, git, modern C++ and many other things that you certainly will not learn at university. His course will allow you to expand your C++ knowledge and become much more attractive on the job market. I highly recommend Coders School course.
Bogusław Krawczuk
Bogusław KrawczukProgrammer / IT Specialist @ IBM
Czytaj więcej
Łukasz umie nie tylko przekazać wiedzę, ale też co ważniejsze zachęcić do pracy własnej. Zawsze można zadać pytania, nie tylko w czasie zajęć. Można poznać i zrozumieć wiele zagadnień z zakresu zarówno nowoczesnego C++, jak i scruma, TDD i czytelnego kodu. Stara się zróżnicować metody nauki. Pomógł mi zrozumieć, że programowanie może być nie tylko interesujące, ale też piękne, że może być Sztuką. Bez wahania polecam każdemu, kto chce rozwinąć swoje umiejętności programistyczne.
Piotr Kowańdy
Piotr KowańdyJunior IT Specialist at IBM
Czytaj więcej
I was a member in his Coders School. I can say that he is an excellent teacher, trainer and professional. He is not resting on his laurels. He is constantly improving his training. He is in 100% prepared for every class activities. He requires concentration and attention from students, besides it motivates to own development, but he don't want to impose on somebody. He is open to changes in the teaching context. Student comments are taken into account for the purpose Coders School workshop improvements. Great Teacher!:)
Bartosz Brzozowski
Bartosz BrzozowskiEmbedded Software Developer
Czytaj więcej
Łukasz jest świetnym trenerem. Uczestniczyłem w kursie języka C++ (Coders School) który był przez niego prowadzony. Nie tylko nauczyłem się biblioteki STL, zarządzania pamięcią czy wykorzystywania nowoczesnego C++. Zrozumiałem na czym polega praca programisty, jak współpracować w grupie zgodnie z systemem Agile (Scrum) bądź jak przygotować się do rozmowy kwalifikacyjnej. Wytłumaczył mi wszelkie zagwozdki związane z programowaniem. Serdecznie polecam 😉
Michał Sobótka
Michał Sobótka
Czytaj więcej
Zdecydowanie polecam osobom, które chcą poszerzyć swoją wiedzę z programowania zdobytą na uczelni, bądź z własnej nauki. W moim przypadku było to znaczne poszerzenie posiadanej wiedzy i możliwość przećwiczenia jej w praktyce. Prowadzący zawsze przygotowany i niezależnie od zadawanych pytań, zawsze udawało mu się na nie odpowiedzieć :] Kurs szczególnie przydatny dla osób, które planują w przyszłości pracować jako developer, bądź są na początku takiej kariery.
Szymon Janas
Szymon Janas
Czytaj więcej
Łukasz was my trainer during course Software Engineering in C++. Łukasz is a born trainer and C++ master. He knows how to teach difficult issues, solve any problems, and he is always patient and positive. Course is very good choice to learn and improve skills in programming beacuse trainer teaches practical knowledge which it is priceless on job interview. Moreover, the good atmosphere at the meetings made me happy to get up early on Sunday mornings.
Alicja Norberciak
Alicja NorberciakMłodszy inżynier oprogramowania w Capgemini
Czytaj więcej
Ukończyłam kurs programowania C++. Był to zdecydowanie najlepiej zorganizowany kurs na jaki uczęszczałam. Przed zajęciami udostępniane były materiały z wiedzą teoretyczną, które w czasie spotkań były szczegółowo omawiane w połączeniu z zadaniami praktycznymi. Między zajęciami wykonywaliśmy zadania indywidualne i grupowe, które pomagały utrwalić zdobytą wiedzę. Zaskakujące było dla mnie to, w jak przystępny sposób można wytłumaczyć nawet najtrudniejsze zagadnienia. W czasie trwania kursu mogliśmy także korzystać z pomocy trenera niemalże bez ograniczeń poprzez komunikator Discord, co bardzo ułatwiało wykonywanie zadań. Polecam ten i inne kursy w Coders School, sama chętnie wybrałabym się na kolejny dot. wielowątkowości, a to chyba jest najlepszą rekomendacją 🙂
Szymon Gajewski
Szymon GajewskiSpecjalista ds. nadzoru sieci i systemów IT w Talex S.A.
Czytaj więcej
Łukasz was my teacher in Coders School C++ course. He had very good knowledge on C++ programming and great teaching skills. He is very involved. Always ready to help his students. Real professional man, I recommend this course for everyone. You will not regret!
Piotr Höffner
Piotr HöffnerC++ Developer w Nokia
Czytaj więcej
I attended a C++ programming course organized at Coders School. Łukasz has a broad and very actual knowledge on C++ programming. He is always kind and excellent prepared for his lessons. Exercises during class and post-works are intresting, didactic and also well prepared. Łukasz is constantly developing his knowledge and presentation skills. He also takes student feedback into consideration for making his course better. In case of any problems you can always ask for help after class. Łukasz is an excellent and highly-engaged teacher. The C++ course designed by him is very professional, intresting and well balanced. I highly recommend this course and Łukasz as a trainer.
Joanna Bednarska
Joanna BednarskaJunior C++ Developer w Credit Suisse
Czytaj więcej
I was a student in Coders School which is conducted by Łukasz. Łukasz has excellent knowledge in the field of programming and he is also great and passionate teacher which is, in my opinion, an unique skill nowadays. During the course he was using various didactic techniques to make acquiring the knowledge easier. I am really impressed by his professionalism in every detail together with friendly and open-minded attitude!
Poprzedni
Następny

Ile kosztują takie kursy C++?

8000 zł

Tyle brutto kosztował 1 dzień mojego szkolenia firmowego z C++ w 2021 roku. Zawartość powyższych kursów to od 2 do 10 takich dni.

1000 zł

Tyle ludzie płacą za ROCZNY dostęp do grup i społeczności eksperckich, takich jak nasz serwer Discord. A u nas taki dostęp masz za darmo, gdy kupisz dowolny kurs 😍

250 zł

Tyle kosztowały 3 godziny szkolenia grupowego ze mną za jedną osobę, gdy zaczynałem w 2018 roku.

Co wyróżnia te kursy?

Chcesz wiedzieć coś jeszcze?

logo z ninją

Zostań ninją C++

Kup nasze kursy C++, dołącz do społeczności na Discordzie, ucz się wpólnie z innymi! Oglądaj wideo, rozwiązuj zadania, zdobywaj punkty, pomagaj innym, pytaj o pracodawców i ciekawe projekty.

Hej, już jest mój nowy kurs - Programowanie obiektowe w C++. Obczaisz?