Jazyk C – pokročilé programování (C2)

Programování, C, C++

Píšete základní programy v jazyce C a rádi byste se pustili do pokročilejších témat? Programovací jazyk C poskytuje silné nástroje k tvorbě a optimalizaci programů blízkých hardware. Umožňuje velmi přímočaré programování přímo nad hardware.

Privátní školení a termíny na míru

Tento kurz nabízíme pouze jako uzavřené privátní školení. Obsah, délka a termíny kurzů budou vytvořeny podle vašich specifických potřeb. Specifičnost tohoto školení a nízký zájem jednotlivců neumožňuje pro tento kurz vypisovat veřejné termíny.

Cenovou nabídku vám rádi připravíme na základě vašich požadavků a cílů zaslaných e-mailem nebo zadaných prostřednictvím poptávkového formuláře. Cena privátního školení vychází z náročnosti požadované obsahové náplně školení, časového rozsahu a celkového počtu přihlášených osob.

Lokalita, termín kurzu

Kontaktujte nás

Virtuálně se můžete přidat i ke školením ve výše nabízených lokalitách. Do poznámky v objednávce prosím uveďte „Připojím se virtuálně“

Náplň kurzu:

Skrýt detaily
  • Programovací jazyk C
    1. C99, C11, C18
    2. Kompilace a linkování
    3. Makefile a build systémy
  • Opakování
    1. Funkce a makra
    2. Ukazatele a adresy
    3. Text a binární data
    4. Strukturované typy
    5. Cykly, podmínky a goto
  • Paralelní programování
    1. Vlákna a synchronizace
    2. Sdílené datové struktury
  • Dynamické datové struktury
    1. Pole a buffery
    2. Spojové seznamy, stromy a grafy
    3. Dynamická alokace paměti
  • Synchronizace sdílených dat
    1. Souběh konfliktních operací
    2. Atomické proměnné
    3. Zamykání datových struktur
    4. Bezzámkové datové struktury
  • Plánovač a smyčka událostí
    1. Programování reakcí na události
    2. Zpětné volání funkcí
    3. Odložené zpracování
  • Polymorfismus
    1. Callback a data
    2. Tagovaný polymorfismus
    3. Struktura s operacemi
    4. Dynamické odbavení volání
  • Prvky objektového programování
    1. Vnořené struktury
    2. Typové informace za běhu
    3. Návrh objektových hierarchií
  • Rekurzivní volání funkcí
    1. Alternativa k iterativnímu přístupu
    2. Procházení rekurzivních datových struktur
    3. Nepřímá rekurze a rekurze přes callback
    4. Tail rekurze
  • Obecná doporučení
    1. Návrh aplikace a datových struktur
    2. Nedefinované chování
    3. Ladění aplikací
    4. Zpětná a dopředná kompatibilita
Předpokládané znalosti:
Znalost obecných zásad programování, orientace v prostředí MS Windows, případně zkušenost s jiným programovacím jazykem.
Doporučený předchozí kurz:
Jazyk C – Základy programování (C1)
Doporučený následný kurz:
Jazyk C – návrhové vzory (C3)
Časový rozvrh:
3 dny (9:00hod. - 17:00hod.)