NPRG051 - Pokročilé programování v C++
|
![]() |
Česká verze přednášek je vedena obvyklým způsobem, během semestru se vystřídají tři přednášející.
Cvičení v české verzi budou za celý semestr pouze tři a budou se týkat zadání a vyhodnocení domácích úkolů.
Hlavní součástí hodnocení předmětu jsou domácí úkoly
Všechny domácí úkoly musí psát výhradně student, který je odevzdává, samostatně a bez použití nástrojů AI.
Můžete diskutovat o designu a souvisejících problémech se svými kolegy; kód však musíte napsat samostatně a nesmíte jej s nikým sdílet.
David Bednárek | Jakub Yaghob | Filip Zavoral |
Pátek 12:20 | Přednášky | Slajdy | Další materiály | ||||
---|---|---|---|---|---|---|---|
21.2.-14.3. + 23.5. | Introduction | ![]() |
![]() |
Learning C++ | |||
Concepts | requirements, concepts | ![]() |
![]() |
||||
Templates | lvalue/rvalue, perfect forwarding | ![]() |
![]() |
variadic templates universal references, forwarding |
|||
Templates | working with references and values | ![]() |
![]() |
||||
Templates | standard library traits and tags | ![]() |
![]() |
||||
Metaprogramming in C++ | iteration through variadic lists | ![]() |
![]() |
||||
metaprogramming | ![]() |
![]() |
|||||
21.3.-11.4. | Type deduction | auto, structure bindings, deduction rules | ![]() |
structured bindings type deduction C++20 | |||
Type deduction | deduction rules, CTAD, uniform initialization | ![]() |
CTAD initialization | ||||
Type system | type compatibility, type erasure, any, variant, visit, overload | ![]() |
type erasure overload variant | ||||
Libraries | ranges, span, ud literals, ..., C++23 & beyond | ![]() |
ranges chrono | ||||
25.4.-16.5. | Parallel programming |
![]() |
C++11 concurrency parallel algorithms, tasks, concurrency, parallel algorithms again C++11 parallelism, C++11 concurrency again |
||||
Parallel programming | ![]() |
some scary reading: BAD, UGLY, and GOOD | |||||
Parallel programming |
![]() |
||||||
Networking, databases, AIO Coroutines |
![]() ![]() |
![]() ![]() |
Exploring C++20 Coroutines, Coroutines introduction, C++20 coroutines tutorial | ||||
Doplňkové slajdy | |||||||
Exceptions | ![]() |
![]() |
|||||
Extended versions of winter-term lectures (NPRG041) |
declarations-definitions | ![]() |
![]() |
||||
templates | ![]() |
![]() |
|||||
Deeper examples related to summer-term lectures | tuple | ![]() |
![]() |
||||
Very advanced topics | mixin | ![]() |
![]() |
||||
Metaprogramming in C++ | sfinae | ![]() |
![]() |
||||
Modules | ![]() |
modules |