Detail předmětu
Jazyk C++
FSI-SCP Ak. rok: 2020/2021 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
Program B3A-P: Aplikované vědy v inženýrství, bakalářský
obor B-MAI: Matematické inženýrství, povinný
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