Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
Web page:
https://cw.fel.cvut.cz/wiki/courses/BD5B37PPC
Anotation:
Předmět seznamuje studenty s C++ a dále rozvijí praktické dovednosti programování v C/C++. Přednášky jsou věnovány objektově orientovanému programování v C++ a seznámení studentů se základními datovými kontejnery STL. Studenti se také seznámí s principy paralelního programování více-vláknových aplikací, mechanismy synchronizace a modely více-vláknových aplikací.
Study targets:
Cílem předmětu je seznámit studenty s praktickými aspekty programováni v C/C++. Studenti se naučí efektivně implementovat algoritmy a numerické metody, které se běžně využívají v elektronických systémech.
Course outlines:
| 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 |
Exercises outline:
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.
Literature:
| [1] | | Stroustrup: Programming: Principles and Practice Using C++ (2nd Edition), 2014, ISBN 978-0321992789 |
| [2] | | Stroustrup: The C++ Programming Language (4th Edition), 2013, ISBN 978-0321563842 |
| [3] | | Sedgewick, Wayne: Algorithms (4th Edition), 2011, ISBN 978-0321573513 |
| [4] | | Eckel: Thinking in C++, Vol. 1 & Vol. 2, dostupné online: http://mindview.net/Books/TICPP/ThinkingInCPP2e.html |
| [5] | | http://www.cplusplus.com/info/ |
Requirements:
Předmět vyžaduje základní znalosti procedurálního programování, které lze získat např. v předmětu "Procedurální programování".
Subject is included into these academic programs:
| Page updated 5.12.2025 05:52:11, semester: Z/2025-6, Z/2026-7, L/2025-6, L/2026-7, L/2024-5, Send comments about the content to the Administrators of the Academic Programs |
Proposal and Realization: I. Halaška (K336), J. Novák (K336) |