David Bednárek | Jakub Yaghob | Filip Zavoral |
Toto je předběžný harmonogram přednášek a cvičení. Obsah přednášek i slajdy budou během semestru aktualizovány.
Posluchárna rozvržená pro cvičení bude využita pro zadávání a vyhodnocení tří domácích úkolů zadaných v průběhu semestru - viz světle modré řádky.
Date | Lecture | Topics | Slides | External resources (en) | |
---|---|---|---|---|---|
16.2. | Introduction | ![]() |
![]() |
||
Templates | templates, concepts | ![]() |
![]() |
||
23.2. | variadic templates, perfect forwarding | ![]() |
![]() |
variadic templates universal references, forwarding |
|
2.3. | Introduction to Metaprogramming | Working with references and values | ![]() |
![]() |
|
9.3. | Policy clases, traits | ![]() |
![]() |
||
16.3. | Type deduction | auto, structure bindings, range-based for, type deduction | ![]() |
structured bindings auto decltype C++20 | |
23.3. | deduction rules, CTAD, uniform initialization, modules, attributes | type deduction CTAD initialization modules | |||
30.3. | Type system | type compatibility, type erasure, variant, any | ![]() |
type erasure overload variant | |
6.4. | Libraries | string_view, span, ud literals, chrono, filesystem, format, ranges, C++23 & beyond | ![]() |
chrono ranges | |
6.4. | Assignment #1 |
||||
13.4. | Parallel programming |
![]() |
C++11 concurrency parallel algorithms, tasks, concurrency, parallel algorithms again C++11 parallelism, C++11 concurrency again |
||
20.4. | Deadline #1 | ||||
20.4. | Parallel programming | ![]() |
some scary reading: BAD, UGLY, and GOOD | ||
27.4. | Parallel programming |
![]() |
|||
27.4. | Feedback #1 | ![]() |
![]() |
||
Assignment #2 | |||||
4.5. | Networking, databases, AIO Coroutines |
![]() ![]() |
![]() ![]() |
Exploring C++20 Coroutines, Coroutines introduction, C++20 coroutines tutorial | |
11.5. | Deadline #2 | ||||
11.5. | Rektorský den | ||||
18.5. | Metaprogramming in C++, SFINAE | metaprogramming | ![]() |
![]() |
|
sfinae | ![]() |
![]() |
|||
18.5. | Feedback #2 | ||||
Assignment #3 | |||||
8.6. | Deadline #3 | ||||
Additional slides | |||||
Extended versions of winter-term lectures (NPRG041) |
declarations-definitions | ![]() |
![]() |
||
exceptions | ![]() |
![]() |
|||
Deeper examples related to summer-term lectures | tuple | ![]() |
![]() |
||
Very advanced topics | mixin | ![]() |
![]() |
||
Modules, interoperability | Modules | ![]() |
modules | ||
interoperability | ![]() |
![]() |