|
|
Hlavní nabídka Prohlížení IS/STAG
Nalezené předměty, počet: 1
Stránkování výsledků vyhledávání
Nalezeno 1 záznamů
Export do Xls
Informace o předmětu
KIV / CPP
:
Popis předmětu
Pracoviště / Zkratka
|
KIV
/
CPP
|
Akademický rok
|
2023/2024
|
Akademický rok
|
2023/2024
|
Název
|
Programování v jazyce C++
|
Způsob zakončení
|
Zkouška
|
Způsob zakončení
|
Zkouška
|
Akreditováno / Kredity
|
Ano,
4
Kred.
|
Forma zakončení
|
Kombinovaná
|
Forma zakončení
|
Kombinovaná
|
Rozsah hodin
|
Přednáška
2
[HOD/TYD]
Cvičení
1
[HOD/TYD]
|
Zápočet před zkouškou
|
Ano
|
Zápočet před zkouškou
|
Ano
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Počítán do průměru
|
ANO
|
Vyučovací jazyk
|
Čeština
|
Obs/max
|
|
|
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Letní semestr
|
0 / -
|
0 / -
|
0 / -
|
Počítán do průměru
|
ANO
|
Zimní semestr
|
0 / -
|
2 / -
|
12 / -
|
Opakovaný zápis
|
NE
|
Opakovaný zápis
|
NE
|
Rozvrh
|
Ano
|
Vyučovaný semestr
|
Zimní semestr
|
Vyučovaný semestr
|
Zimní semestr
|
Minimum (B + C) studentů
|
10
|
Volně zapisovatelný předmět |
Ano
|
Volně zapisovatelný předmět
|
Ano
|
Vyučovací jazyk
|
Čeština
|
Počet dnů praxe
|
0
|
Počet hodin kontaktní výuky |
0
|
Hodnotící stupnice |
1|2|3|4 |
Periodicita |
každý rok
|
Hodnotící stupnice pro zp. před zk. |
S|N |
Periodicita upřesnění |
|
Základní teoretický předmět |
Ne
|
Profilující předmět |
Ano
|
Základní teoretický předmět |
Ne
|
Hodnotící stupnice |
1|2|3|4 |
Hodnotící stupnice pro zp. před zk. |
S|N |
Nahrazovaný předmět
|
Žádný
|
Vyloučené předměty
|
Nejsou definovány
|
Podmiňující předměty
|
Nejsou definovány
|
Předměty informativně doporučené
|
KIV/PC a KIV/PPA a KIV/ADT
|
Předměty,které předmět podmiňuje
|
Nejsou definovány
|
Graf četnosti udělených hodnocení studentům napříč roky:
Obrázek PNG
,
XLS
|
Cíle předmětu (anotace):
|
Cílem předmětu je seznámit studenty s moderní podobou jazyka C++ a jeho praktickým využitím. Důraz je kladen na psaní bezpečného a efektivního kódu, který je zároveň čitelný a udržovatelný.
|
Požadavky na studenta
|
Pro zápočet je nutné mít alespoň 70% docházku na cvičení, vypracovat a včas odevzdat 2 semestrální práce menšího rozsahu zadané v průběhu semestru a z každé získat alespoň 10 bodů. Maximálně je možné za každou ze semestrálních prací získat až 25 bodů. V případě mimořádného výkonu studenta je možné získat dalších až 10 bodů v rámci cvičení.
Zkouška má praktickou formu a probíhá u počítače. Úkolem studenta bude vytvořit nebo doplnit program v jazyce C++ splňující zadání. Minimálně je potřeba získat alespoň 20 bodů ze 40 možných. Výsledná známka je stanovena na základě součtu bodů ze semestru a ze zkoušky.
Hodnocena je funkčnost, použití správných konstrukcí jazyka C++, čitelnost, bezpečnost a efektivita kódu a jeho dokumentace.
Z důvodu průběžné aktualizace předmětu je pro získání zápočtu při opakovaném zapsání předmětu (viz SZŘ čl. 24 odst. 3) nutné souhlasné vyjádření garanta předmětu.
|
Obsah
|
1. Základní koncepty moderního C++, coding standard, std::array, std::vector
2. Reprezentace datových typů v paměti, STL, iterátory, RAII, chytré ukazatele
3. Objekty, virtuální metody, const, constexpr a final, přetěžování funkcí a operátorů
4. Lambda funkce, vyjímky a std:: algoritmy, random
5. Vícenásobná dědičnost, práce s typy, proudy (soubory a další)
6. Copy a move sémantika, šablony
7. Variadické šablony, dynamický vs. statický polymorfismus, CRTP
8. Vlákna v C++ a základní synchronizační primitiva, paralelní algoritmy
9. Koncepty, korutiny, moduly
10. Ladění kódu
11. Profilování kódu, hledání úniků paměti
12. Překlad vybraných vysokoúrovňových konstrukcí (např. devirtualizace), optimalizace, čistá abstrakce
13. Vybrané podpůrné knihovny a nástroje jazyka C++ (Boost, Qt, CMake)
|
Aktivity
|
|
Studijní opory
|
|
Garanti a vyučující
|
|
Literatura
|
-
Základní:
Stroustrup Bjarne. A Tour of C++ (C++ In-Depth). Addison Wesley, 2013.
-
Doporučená:
Meyers Scott. Effective Modern C++ 42 Specific Ways to Improve Your Use of C++11 and C++14. O'Reilly Media, 2015. ISBN 978-1491903995.
-
On-line katalogy knihoven
|
Časová náročnost
|
Všechny formy studia
|
Aktivity
|
Časová náročnost aktivity [h]
|
Příprava na zkoušku [10-60]
|
30
|
Celkem
|
30
|
Prezenční forma studia
|
Aktivity
|
Časová náročnost aktivity [h]
|
Kontaktní výuka
|
39
|
Projekt individuální [40]
|
38
|
Celkem
|
77
|
|
Předpoklady
|
Odborné znalosti - pro úspěšné zvládnutí předmětu se předpokládá, že je student před zahájením výuky schopen: |
Znát a umět používat programovací jazyk C a alespoň jeden objektový programovací jazyk. |
Rozumět a být schopen aplikovat znalosti z teoretické informatiky (např. výpočetní složitost) |
Mít alespoň základní povědomí o fungování procesoru a dělení adresního prostoru (alokace paměti, zásobník a halda) |
Odborné dovednosti - pro úspěšné zvládnutí předmětu se předpokládá, že student před zahájením výuky dokáže: |
Být schopen analyzovat a dekomponovat problém, navrhnout algoritmické řešení a implementovat jej. |
Obecné způsobilosti - před zahájením studia předmětu je student schopen: |
bc. studium: své učení a pracovní činnost si sám plánuje a organizuje, |
bc. studium: uplatňuje při řešení problémů vhodné metody a dříve získané vědomosti a dovednosti, kromě analytického a kritického myšlení využívá i myšlení tvořivé s použitím představivosti a intuice, |
bc. studium: zvažuje možné klady a zápory jednotlivých variant řešení, včetně posouzení jejich rizik a důsledků, |
mgr. studium: samostatně a odpovědně se na základě rámcového zadání rozhodují v souvislostech jen částečně známých, |
|
Výsledky učení
|
Odborné znalosti - po absolvování předmětu prokazuje student znalosti: |
Základní a pokročilé konstrukce jazyka C++ včetně těch z moderních standardů. |
Znát principy moderních kompilovaných programovacích jazyků a jejich vztah k efektivitě a bezpečnosti |
Znát vztah C++ k ostatním programovacím jazykům. |
Odborné dovednosti - po absolvování předmětu prokazuje student dovednosti: |
Umět použít jazyk C++ pro implementaci menších a středně velkých softwarových projektů s vysokou mírou využití prostředků jazyka ke zvýšení bezpečnosti a efektivity výsledného programu. |
Umět analyzovat a zhodnotit kvalitu svého programu pomocí dostupných nástrojů. |
Umět rozhodnout, pro jaký problém se jazyk C++ hodí a pro jaký ne. |
Obecné způsobilosti - po absolvování předmětu je student schopen: |
bc. studium: samostatně a odpovědně se na základě rámcového zadání rozhodují v souvislostech jen částečně známých, |
|
Hodnoticí metody
|
Odborné znalosti - odborné znalosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Praktická zkouška, |
Demonstrace dovedností (praktická činnost), |
Průběžné hodnocení, |
Odborné dovednosti - odborné dovednosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Praktická zkouška, |
Demonstrace dovedností (praktická činnost), |
Průběžné hodnocení, |
Obecné způsobilosti - obecné způsobilosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Průběžné hodnocení, |
|
Vyučovací metody
|
Odborné znalosti - pro dosažení odborných znalostí jsou užívány vyučovací metody: |
Přednáška s demonstrací, |
Přednáška s diskusí, |
Cvičení (praktické činnosti), |
Řešení problémů, |
Skupinová výuka, |
Samostudium, |
Samostatná práce studentů, |
Diskuse, |
Odborné dovednosti - pro dosažení odborných dovedností jsou užívány vyučovací metody: |
Přednáška založená na výkladu, |
Přednáška s diskusí, |
Cvičení (praktické činnosti), |
Přednáška s demonstrací, |
Řešení problémů, |
Skupinová výuka, |
Samostudium, |
Diskuse, |
Obecné způsobilosti - pro dosažení obecných způsobilostí jsou užívány vyučovací metody: |
Samostudium, |
|
|
|
|