Subject description - BD5B37PPC

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
BD5B37PPC C/C++ programming
Roles:P Extent of teaching:14KP+6KC
Department:13137 Language of teaching:CS
Guarantors:Vítek S. Completion:KZ
Lecturers:Vítek S. Credits:4
Tutors:Liebzeit L., Vítek S. Semester:Z

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:

Program Branch Role Recommended semester
BKEEK_2016 Common courses P 3


Page updated 28.3.2024 09:54:15, semester: Z,L/2023-4, Z/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)