Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024

Praktické programování v C/C++

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
B2B36PPC Z,ZK 6 2P+2C česky
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra počítačů
Anotace:

Předmět seznamuje studenty z C++ a dále rozvijí praktické dovednosti programování v C/C++ s důrazem na řešení

výpočetních úloh a paralelního programování s využitím více-vláknových aplikací. První část přednášek je věnována

objektově orientovanému programování v C++ a seznámení studentů se základními datovými kontejnery STL. Studenti

se seznámí s principy paralelního programování více-vláknových aplikací, mechanismy synchronizace a modely vícevláknových

aplikací. Druhá část je věnována rozvinutí algoritmického uvažování při řešení výpočetních úloh

prohledávání stavového prostoru dvěma základními přístupy: metodami uspořádaného prohledávání grafové

reprezentace stavového prostoru a lokálními optimalizačními technikami. Dále budou studenti seznámeni s modely

přesné datové reprezentace necelých čísel, reprezentací matic a maticovými výpočty.

Požadavky:
Osnova přednášek:

1. Principy objektově orientovaného programování: třídy, objekty, zapouzdření

2. Dědičnost a polymorfismus

3. Generické typy

4. Výjimky a ladění programu

5. Kontejnery (knihovna STL)

6. Datové proudy a operátory

7. Paralelní programování - metody synchronizace výpočetních vláken

8. Paralelní programování - modely více-vláknových aplikací a paralelizace výpočtů (např. OpenMP)

9. Grafové struktury a jejich prohledávání

10. Dynamické programování

11. Výpočetní úlohy s plovoucí řádovou čárkou a přesné datové reprezentace

12. Reprezentace matic a maticové výpočty

13. Numerické knihovny v C/C++ a optimalizační algoritmy (hill climbing, simulated annealing)

14. Vývoj jazyka C/C++ - verze a standardy (C++11/C++14), jejich rozšíření, přenositelnost a překladače

Osnova cvičení:

Praktická cvičení jsou zaměřena na získání a procvičování programovacích návyků tak, aby studenti byli schopni

samostatně vytvářet čitelné a přenositelné kódy s důrazem na využití existujících standardních knihoven a datových

kontejnerů. V průběhu semestru studenti odevzdávají programovací úlohy jejichž bodové hodnocení se skládá z bodů za

správnost a efektivitu kódu, dále pak z bodů zohledňující kvalitu zdrojových kódů, jejich čitelnost a znovu použitelnost.

Cíle studia:
Studijní materiály:

Stroustrup: Programming: Principles and Practice Using C++ (2nd Edition), 2014, ISBN 978-0321992789

Stroustrup: The C++ Programming Language (4th Edition), 2013, ISBN 978-0321563842

Sedgewick, Wayne: Algorithms (4th Edition), 2011, ISBN 978-0321573513

Poznámka:
Další informace:
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 19. 4. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet4703506.html