fbpx ...

Wielowątkowość w C++ w lutym i marcu 2020

Wszystkiego dobrego w Nowym Roku 🙂 Już niedługo w Coders School odbędzie się kurs wielowątkowość w języku C++. Oto detale:

Terminy spotkań

Tematyka

Powyższa tematyka pokrywa CAŁĄ część o wielowątkowości w bibliotece standardowej C++17. Opowiemy sobie też o rzeczach, które wejdą w C++20. Będzie dużo prac domowych oraz projekt grupowy, który będzie rozwijany podczas kursu 🙂

Co daje kurs?

Kurs da Ci wiedzę z zakresu wielowątkowości, to znaczy z tego jak zachowują się programy, które mogą wykorzystywać wiele procesorów i rdzeni, aby przyspieszyć obliczenia. Dowiesz się i przekonasz o wielu problemach, które na 100% przydarzą Ci się podczas normalnej pracy z takimi aplikacjami, takimi jak synchronizacja danych, czy… spowolnienie programu podczas jego wykonania na wielu rdzeniach. Samo zagadnienie przetwarzania wieloprocesorowego oraz problemów synchronizacji jest uniwersalne dla każdego języka programowania. Twory takie jak wątki, mutexy czy zmienne warunku również są uniwersalne dla wielu języków programowanie. Po kursie oczywiście dostaniesz certyfikat jego ukończenia, jeśli uda Ci się zdobyć wymaganą liczbę punktów za zadania 🙂

Trener

Co najmniej 90% kursu poprowadzę ja (Łukasz Ziobroń) 🙂

Jest możliwe, że 10% poprowadzi nowy trener, którego przestawię w późniejszym czasie. Ja będę obecny na każdej lekcji.

Trener Łukasz Ziobroń

Przygotowanie

Aby uczestniczyć w tym kursie musisz mieć podstawową wiedzę o funkcjach lambda oraz zagadnieniach z C++11 (auto, using, pętla for po kolekcji, jednolita inicjalizacja, default, delete, override, semantyka przenoszenia). Wiedza o tym, czym jest RAII również się przyda.

Bardzo polecam, aby pracować na Linuxie (lub na Macu). Linuxa możesz mieć zainstalowanego na laptopie natywnie, jako maszynę wirtualną w VirtualBoxie lub poprzez WSL w WIndows10. Oczywiście pod samym Windowsem też pisze się wielowątkowy kod, ale nie ma dobrych i darmowych narzędzi do testowania wielowątkowości pod Windowsem. Być może Visual Studio coś takiego posiada, ale ja zupełnie nie jestem w temacie. A sam Visual Studio w odróżnieniu od Visual Studio Code jest płatny.

Zainstaluj sobie następujące programy:

    • kompilator: g++ lub clang++
    • IDE: Visual Studio Code lub vim 🙂
    • valgrind
    • gdb
Jako bonus podrzucam też linka do fajnej gierki online – The Deadlock Empire. Przechodząc kolejne jej poziomy będziesz uzyskiwać wiedzę z kolejnych mechanizmów wielowątkowości. Miłej zabawy 🙂

Koszty

Cały kurs Wielowątkowość w C++ kosztuje 1099 zł. Kolejne edycje wielowątkowości będą droższe, więc jeśli się wahasz to taniej może już nie być.

Zapisy

Zapisy na kurs przyjmuję poprzez formularz, który pojawi się po kliknięciu poniższego przycisku. Po zapisaniu się otrzymasz email ze szczegółami organizacyjnymi oraz z informacją o płatności.

Rezygnacja

W razie rezygnacji przed kursem zwracam 100% opłaty, więc gdyby coś Ci wyskoczyło to tylko daj znać, a zrobię zwrot. Zamierzam też dać damowy bonus wszystkim osobom zapisanym na kurs. Tego bonusu nie musisz w żaden sposób zwracać, bo będzie on w formie elektronicznej 🙂

W przypadku późniejszej rezygnacji dostaniesz zwrot proporcjonalny do liczy zajęć, które odbyły się do momentu rezygnacji, czyli za zrezygnowanie w połowie otrzymasz zwrot połowy kosztów.

Miejsce zajęć

Miejsce zostanie ustalone dopiero po zakończeniu zapisów, ponieważ muszę znać liczbę osób, które się zapiszą. Jeśli chętnych będzie dużo, to możliwe że powstaną nawet 2 grupy.

Jeśli masz jakiekolwiek pytania to zawsze możesz napisać mi maila albo wysłać wiadomość poprzez formularz kontaktowy 🙂

ninjaletter

A może Ninjaletter?

Chcesz wiedzieć, co słychać w C++ i nie tylko? Zapisz się na Ninjaletter i otrzymuj od nas co miesiąc dawkę wartościowych treści o C++ i zadania rekrutacyjne. Do tego dorzucamy darmowe materiały, spoilery o nowych kursach, specjalne promocje dla ninjaletterowiczów i wiele, wiele innych. To co, skusisz się?

Łukasz Ziobroń

Łukasz Ziobroń

Zmieniam ludzi w prawdziwych programistów. W nauczaniu stosuję grywalizację, andragogikę i neurodydaktykę.

Najnowsze artykuły

docker

Narzędzia programisty: Docker w skrócie

Co wspólnego ze sobą mają ogry, cebula i Docker? Poznaj podstawy Dockera i dowiedz się, jak może przyspieszyć Twoją codzienną pracę. Odkryj, dlaczego warto go mieć w swoim arsenale programisty.

Czytaj »
good programming practices

Good programming practices – Coding Dojo

Training in a form of Coding Dojo. Participants start with a code review of a small application. They note down their comments. After that, the trainer presents bad and good programming practices. Participants discuss what can be applied in a reviewed code and start fixing it in a form of Coding Dojo.

Czytaj »

Popular C++ Idioms – Coding Dojo

The training starts with a code review of a small application (pre-work). Participants note their thought and discuss their findings in groups. Then popular C++ idioms are presented (the concept and some code) – about 15-20 minutes each. After that participants need to use some of the idioms in a reviewed application code.

Czytaj »
performance optimisations

Performance optimisations

This training is about writing more robust C++ code and algorithms with the help of CPU caches and a compiler. Benchmarking tools are used to show performance gains.

Czytaj »
C++ toolset

C++ toolset

Covers a lot of ground about C++ related tools: build systems, compilers, debuggers, static and dynamic binary analyzers. It is focused more on discovering useful tools, that can solve many software engineering problems.

Czytaj »

Templates – Advanced techniques

Basic usage of C++ templates may not be enough to utilize opportunities, which were introduced in the latest C++ standards. From C++11 we can use templates with any number of parameters and use a simplified mechanism for SFINAE, which is claimed to be a real C++ wizardry.

Czytaj »
ninjaletter

Już uciekasz?

Zanim to zrobisz, zapisz się na Ninjaletter, aby wiedzieć, co piszczy w C++. 

Informujemy, iż w celu realizacji usług dostępnych w naszym serwisie, optymalizacji jej treści, dostosowania strony do Państwa indywidualnych potrzeb oraz wyświetlania, personalizacji i mierzenia skuteczności reklam w ramach zewnętrznych sieci reklamowych korzystamy z informacji zapisanych za pomocą plików cookies na urządzeniach końcowych użytkowników. Pliki cookies można kontrolować za pomocą ustawień swojej przeglądarki internetowej. Dalsze korzystanie z naszego serwisu, bez zmiany ustawień przeglądarki internetowej oznacza, iż użytkownik akceptuje stosowanie plików cookies. Więcej informacji zawartych jest w polityce prywatności serwisu.