Kurs C++ DeveloperK-CPP

C i C++ od głębokich fundamentów po obiekty i szablony

  • C
  • C++
  • Linux
  • biblioteka Qt

Obecnie brak terminów otwartych. Dostępne na zamówienie dla grup.

Warszawa
  • 15.03 - zaoczny (sob-niedz., średnio co 2 tygodnie)
  • 20.03 - dzienny (blok 4-dniowy i dwa 3-dniowe, średnio co 2 tyg.)
Zdalnie
  • 15.03 - zaoczny (sob-niedz., średnio co 2 tygodnie)
  • 20.03 - dzienny (blok 4-dniowy i dwa 3-dniowe, średnio co 2 tyg.)

Tryb zdalny: online na żywo z trenerem i grupą (→ więcej o kursach zdalnych). Można: zrezygnować do 15 dni przed startem; w każdej chwili przejść na tryb zdalny; w razie potrzeby skorzystać z nagrań. Kursy dostępne również na zamówienie, w terminie i lokalizacji do uzgodnienia, dla grup od 7 osób.

4,7/5 (193)
Stars
dla firm - netto
dla osób prywatnych - brutto (pokrywamy VAT)
dla podmiotów publicznych - zwolnione z VAT

Cena kursu: 4790 PLN

lub 958 PLN miesięcznie (5 rat)


percent icon first minute (30+ dni do startu) - 3%

percent icon dostęp do nagrań w razie potrzeby

shake hand icon dla chętnych bezpłatnie warsztaty HR

percent icon praktyczne ćwiczenia i miniprojekty

coffee cup icon poczęstunek w cenie

desktop icon stanowisko komputerowe w cenie

  1. Dlaczego C i C++?
    • Krótka i niepełna historia języków wysokiego poziomu
    • Język kompilowany a interpretowany
    • Gdzie, kiedy i dlaczego się programuje w C, ale niekoniecznie w C++
    • Czym różni się umiejętność programowania od znajomości języka programowania
  2. Fundamentalne pojęcia i działania
    • Program a proces
    • Interakcja z systemem operacyjnym i środowiskiem wykonania
    • Pamięć wirtualna i przestrzeń adresowa
    • System plików
    • Kodowanie znaków
    • Systemy liczbowe
  3. Pierwszy program
    • Składnia i struktura kodu
    • Przestrzeń nazw biblioteki standardowej
    • Przebieg wykonania i efekty uboczne
    • Etapy przetwarzania kodu źródłowego na plik wykonywalny
  4. Zmienne, stałe i ich typy
    • Operatory, operacje, działania niezdefiniowane
    • Rozmiary typów liczbowych
    • Konwersje i rzutowania
    • Elementarna interakcja z użytkownikiem
    • Problem walidacji danych
    • Po co te formalizmy?
  5. Przepływ sterowania
    • Operacje logiczne, reprezentacja prawdy i fałszu
    • Instrukcje warunkowe
    • Pętle
    • Zmienne lokalne, zakresy widoczności nazw
    • Podstawowe algorytmy
  6. Model pamięci
    • Reprezentacja i położenie zmiennych w pamięci komputera
    • Segment kodu, danych, stosu i sterty
    • Systemowe mechanizmy ochrony pamięci
  7. Tablice, wskaźniki, napisy
    • Tablice jedno- i wielowymiarowe, organizacja w pamięci
    • Dualizm tablica-wskaźnik
    • Napisy w C a napisy w C++
    • Typowe błędy, ataki rodzaju buffer overflow
    • Arytmetyka wskaźników
  8. Podstawowe techniki programistyczne
    • Uogólnianie programu – podprogramy i funkcje
    • Dynamiczny przydział pamięci
    • Sposoby przekazywania parametrów do/wyników z funkcji
    • Operacje plikowe
  9. Koncepcja programowania obiektowego
    • Klasa, obiekt, metoda, atrybut, stan
    • Interfejs a implementacja
    • Ochrona stanu obiektu
    • Const-correctness
    • Metody i atrybuty klasowe (statyczne)
  10. Zarządzanie zasobami w modelu obiektowym
    • Konstruktory i destruktory
    • Wartość obiektu a jego tożsamość
    • Kopiowanie obiektów – kopie płytkie i głębokie
  11. Mechanizm dziedziczenia
    • Motywacja praktyczna
    • Problem koła i elipsy
    • Konstrukcja i destrukcja obiektów klas pochodnych
    • Polimorfizm i metody wirtualne
    • Metody i klasy abstrakcyjne
    • Wirtualne destruktory
    • Dziedziczenie vs składanie
  12. Obsługa wyjątków
    • Przepływ sterowania programu po wystąpieniu wyjątku
    • Generowanie i przechwytywanie wyjątków
    • Najczęściej spotykane wyjątki z biblioteki standardowej
  13. Projekty wieloplikowe
    • Jednostka kompilacji
    • Deklaracje i definicje, pliki nagłówkowe
    • Reguła jednej definicji
    • Linkowanie, widoczność symboli
    • Biblioteki statyczne i dynamiczne
    • Automatyzacja budowania projektu
  14. Szablony
    • Szablony w funkcjach
    • Szablony w klasach
    • Specjalizacje szablonów
    • Problemy z linkowaniem
    • Wstęp do metaprogramowania
  15. Standardowa biblioteka szablonów (STL)
    • Kolekcje, kolejki, algorytmy, funkcje wyższego rzędu
    • Dobór właściwej struktury danych do problemu i wpływ na wydajność programu
    • Analiza kosztu czasowego i pamięciowego
    • Dostosowanie własnych klas do współpracy z generycznymi algorytmami i kolekcjami
  16. Wstęp do programowania w Qt
    • Środowisko pracy z bibliotekami Qt
    • Programowanie oparte o obsługę zdarzeń
    • Generowanie i przekazywanie zdarzeń: sygnały i sloty
    • Projektowanie interfejsu aplikacji graficznej
    • Model obiektów Qt, automatyzacja zarządzania pamięcią