Detail předmětu

Jazyk C++

FSI-SCP Ak. rok: 2019/2020 Letní semestr

C++ je moderní programovací jazyk se zaměřením na vysoký výkon. Je široce používán ve velmi odlišných kontextech a má vynikající podporu jak v nástrojích, tak i v knihovnách. Jazyk dostal v roce 2011 obrovskou revizi s normou C++11 a přivedl jej tak do 21. století.

Jazyk výuky

čeština

Počet kreditů

3

Garant předmětu

Zajišťuje ústav

Výsledky učení předmětu

Studenti získají základní dovednosti a zkušenosti při psaní a ladění programů s využitím programovacího jazyka C++.

Prerekvizity

Předpokládají se základní znalosti a zkušenosti s programovacím jazykem (C#, Java).

Plánované vzdělávací činnosti a výukové metody

Předmět je vyučován formou přednášek, které mají charakter výkladu základních principů a teorie dané disciplíny. Cvičení je zaměřeno na praktické zvládnutí látky probrané na přednáškách.

Způsob a kritéria hodnocení

Klasifikovaný zápočet se uděluje na základě následujících podmínek: 30% týdenní úlohy na programování, 70% samostatný projekt. Za aktivní přínos ve výuce lze získat zvláštní ohodnocení.

Učební cíle

Cílem předmětu je seznámit studenty s aktuálními programovacími technikami až po normu C++17. V C++ existuje mnoho numerických knihoven pro vědeckotechnické výpočty. Studenti budou schopni vyvíjet moderní vědecké aplikace.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Účast na přednáškách je žádoucí, účast ve cvičeních je povinná. Výuka probíhá podle týdenních rozvrhů. Způsob náhrady zameškané výuky je plně v kompetenci cvičícího.

Použití předmětu ve studijních plánech

Typ (způsob) výuky

 

Přednáška

13 hod., nepovinná

Vyučující / Lektor

Osnova

1. Základní části moderního C++
2. Základní datové typy
3. Pole a smyčky
4. Ukazatele a odkazy
5. Definice funkcí
6. Šablony funkcí
7. Direktivy preprocesoru
8. Třídy a objektově orientované programování
9. Přetěžování operátorů
10. Dědičnost, polymorfismus
11. Třídy šablon
12. Kontejnery a algoritmy STL
13. Knihovny pro vědecko-technické výpočty

Cvičení s počítačovou podporou

26 hod., povinná

Vyučující / Lektor

Osnova

1. Visual studio 2019
2. MSBuild, CMake, vcpkg
3. -8. Malé projekty
9. C++/CLI
10. Interoperabilita (Matlab, .NET)
11. Armadillo, Eigen, MKL
12. Boost.Numeric.Odeint
13. Zápočet