|David Bednárek||Jakub Yaghob||Filip Zavoral|
PARG Mattermost channel nprg051-advcpp will be used for quick bi-directional communication between teachers and students. If you were registered at PARG SLACK in winter term, your registration info was transferred except the password - please reset your password to log in. If you were not registered previously, you will need an invitation link - see SIS/Notice-board.
The first three lectures will take place (on Tuesdays 14:00) at Zoom Meeting ID: 931 1491 4619. The passcode is available at SIS/Notice-board as well as at Mattermost. The recordings will appear here.
The lectures will be held and recorded in Czech; however, the slides are in English.
The seminars (Tuesdays 15:40) will take place only on the four dates designated in the Timetable below. Their sole purpose will be the explanation of the three homework assignments and their evaluation later.
|Date||Lecture (Tuesdays 14:00)||Slides||Recordings (cz)||External resources|
|2.3.||Templates, declarations vs. definitions||intro|
|9.3.||Policy clases, traits. Variadic templates, perfect forwarding||declarations-definitions|
|16.3.||Metaprogramming in C++||variadic-forward||
universal references, forwarding
|23.3.||C++17/20 - language||auto, structure bindings, range-based for||structured bindings auto decltype|
|30.3.||decltype, type deduction, CTAD||type deduction CTAD|
|6.4.||Initialization, types||initialization, type compatibility, type erasure
|initialization type erasure overload variant|
|13.4.||Libraries, future, interoperability||libraries, future standards||ranges chrono concepts coroutines|
parallel algorithms, tasks, concurrency, parallel algorithms again
C++11 parallelism, C++11 concurrency again
some scary reading: BAD, UGLY, and GOOD
|4.5.||Assignment #3, Evaluation #1|
|11.5.||Networking, databases, AIO|
|18.5.||Metaprogramming in C++, SFINAE||metaprogramming|
|1.6.||Evaluation #2, #3|