Kurs programowania w języku C++

Cena kursu: 1500 zł

Napisz do nas: instytut@nink.pl
Zadzwoń: +48 13 464 03 44 
tel. kom.: +48 781 102 500
 
Forma zajęć:
  • Kurs trwa 32 godziny lekcyjne
  • Uczestnicy dostają niezbędne materiały dydaktyczne i pomoc naukową
  • Zajęcia prowadzone są przez jednego instruktora
  • Uczestnicy otrzymują indywidualne stanowiska pracy z laptopem, wyposażonym w potrzebne narzędzia i oprogramowania
  • W czasie zajęć organizowane są przerwy kawowe

C++ to bardzo popularny, wszechstronny i łatwy do opanowania język, dlatego jest doskonałym wyborem dla każdego, kto chce rozpocząć swoją przygodę z programowaniem. Nawet podstawowa znajomość C++ pozwoli ci znacznie szybciej opanować inne języki programowania np. JAVA czy C#.

Kurs programowania C++ zapewni ci bardzo solidne podstawy niezbędne każdemu programiście C++. Zdobędziesz wiedzę, którą będziesz mógł potem rozwijać w dowolnym kierunku: programowanie gier, aplikacje mobilne, bazy danych, aplikacje webowe itp.

Uczestnicy kursu otrzymują:

  • Imienne certyfikaty sygnowane przez Narodowy Instytut Kształcenia w języku polskim.
  • Zaświadczenie ukończenia kursu (na podstawie Rozporządzenia Ministra Edukacji Narodowej  w sprawie kształcenia ustawicznego w formach pozaszkolnych). 

Istnieje możliwość tłumaczenia wydanych certyfikatów i zaświadczeń na język angielski i niemiecki. Koszt tłumaczenia wynosi 20 zł za komplet w jednym z wybranych języków.

Narodowy Instytut Kształcenia został wpisany do rejestru Niepublicznych Placówek Kształcenia Ustawicznego prowadzonego przez Powiat Sanocki pod numerem 23. Organem prowadzącym NInK jest Podkarpacka Fundacja Rozwoju Kultury. Wszelkie dochody z tytułu prowadzenia szkoleń i kursów trafiają na wydzielone konto PFRK i są przekazywane na rozwój sektora szkoleniowego co jest wpisane w główne cele statutowe PFRK i NInK. 

Program kursu programowania C++:

Kurs wstępny

System kontroli wersji. Wykorzystanie Git'a w pracy zespołowej.

C++

1. Historia języka, struktura programu

    • Słowa kluczowe, nazwy, komentarze, blok kodu, widoczność i zasłanianie nazw

2. Instrukcje preprocesora, kompilator, flagi kompilatora, kompilacja warunkowa

    • dołączanie plików, definiowanie makr, warunkowe włączanie fragmentów kodu, optymalizacja kodu wynikowego

3. Rodzaje zmiennych, struktury danych

    • zmienne ze znakiem i bez, typu całkowitego i zmiennoprzecinkowego, const, volatile, operacje na typach wbudowanych, operatory, proste struktury, typedef

4. Instrukcje warunkowe

    • if, while, do-while, for, switch-case, goto, ?:, break/continue

5. CLI, Parametry, funkcje i przeciążanie funkcji

    • przekazywanie parametrów do programu, przekierowanie wyjścia, definiowanie funkcji, przekazywanie parametrów

6. Tablice, łańcuchy znaków

    • Operacje na stringach, tablice jedno i wielowymiarowe

7. Zarządzanie pamięcią, wskaźniki, alokacja i dealokacja pamięci

    • Dynamiczne alokowanie pamięci, jak bronić się przed wyciekami pamięci, operacje na wskaźnikach, najczęstsze problemy, nullptr

8. Operacje na plikach i strumieniach danych

    • Wczytywanie plików, operowanie na strumieniach, zapis do pliku, tryb binarny i tekstowy

9. Biblioteka standardowa STL

    • Zapoznanie z biblioteką STL, wykorzystanie dostępnych algorytmów i struktur, rozszerzanie możliwości biblioteki STL

10. Algorytmy, złożoność obliczeniowa, wydajność

    • Zapoznanie z pojęciem złożoności obliczeniowej,

11. Złożone struktury danych, drzewa, hash-mapy, kolekcje

    • Praktyczne przypadki wykorzystania złożonych struktur danych, ich zalety oraz wady, porównanie szybkości działania, prosta implementacja

12. Przestrzenie nazw, klasy, typy wyliczeniowe

    • Zapoznanie z hierarchią nazw, metody enkapsulacji, scenariusze wykorzystania

13. Programowanie obiektowe, dziedziczenie, funkcje i klasy zaprzyjaźnione

    • Wprowadzenie do programowania obiektowego, dziedziczenie, enkapsulacja, kwantyfikatory dostępu

14. Przeładowywanie operatorów, polimorfizm

    • Rozszerzanie możliwości klas, funkcje wirtualne, klasy abstrakcyjne

15. Tworzenie API, Integracja z bibliotekami zewnętrznymi

    • Budowanie projektu, pliki Makefile, wykorzystanie bibliotek zewnętrznych, tworzenie własnych bibliotek

16. Funkcje Lambda

    • Funkcje anonimowe, wykorzystanie funkcji anonimowych, sposoby przechwytywania danych

17. Smart pointery, iteratory, programowanie funkcyjne

    • Shared/Unique/Weak pointer, iteratory ich klasy, ograniczenia i możliwości, funktory

18. Procesy, wielowątkowość, Mutexy

    • Uruchamianie kilku procesów, wykorzystanie kilku procesorów, równoległe wątki, jednoczesny dostęp do danych, race condition, undefined behavior, bezpieczny dostęp do danych, synchronizacja.

19. Template, auto

    • Programowanie generyczne, dedukcja typów, metody dedukcji, automatyczna dedukcja typów zwracanych i przechwytywanych

20. Testy kodu

    • Gwarancja spójności kodu, kontrola jakości kodu, testy jednostkowe, testy integracyjne

21. Zasady dobrego programisty

    • Zasada DRY, właściwe używanie wskaźników, obiekty tymczasowe, proces kompilacji, narzędzia do wspomagania pracy, analizatory statyczne
Miejsce
Termin
Sanok

ul. 3 Maja 15/3

38-500 Sanok

Termin do ustalenia,
po zebraniu min. 5 osób

Rzeszów

Rzeszów

Termin do ustalenia,
po zebraniu min. 5 osób

Kraków

Kraków

Termin do ustalenia,
po zebraniu min. 5 osób

Miejsca

Sanok

ul. 3 Maja 15/3

38-500 Sanok

Rzeszów

Rzeszów

Kraków

Kraków

Szkoleniowcy