Kurs programowania w języku C++

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.

Cena kursu: 800 PLN

Forma zajęć:

Zajęcia prowadzone są przez jednego instruktora, każdy z uczestników pracuje przy jednym laptopie. Kurs trwa 32 godziny lekcyjne.

Uczestnicy kursu otrzymują:

  • Imienne certyfikaty sygnowane przez Narodowy Instytut Kształcenia w języku polskim oraz angielskim.
  • Zaświadczenie ukończenia kursu (na podstawie §18 Rozporządzenia Ministra Edukacji Narodowej z dnia 11 stycznia 2012 r. w sprawie kształcenia ustawicznego w formach pozaszkolnych (Dz. U. z 2012 r. poz. 186)).

Napisz do nas: instytut@nink.pl
Zadzwoń: +48 13 464 03 44 

 

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

30.09 - 08.10.2017

Zajęcia weekendowe

Rzeszów

Rzeszów

13.11 - 23.11.2017

Tryb dzienny

Kraków

Kraków

16.09 - 24.09.2017

Zajęcia weekendowe

Miejsca

Sanok

ul. 3 Maja 15/3

38-500 Sanok

Rzeszów

Rzeszów

Kraków

Kraków

Szkoleniowcy