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 částečně aktualizovány.
CZE | |||||||
---|---|---|---|---|---|---|---|
Středa 14:00 | Lectures | Slides | External / additional resources | ||||
Středa 15:40 | Tutorials | ||||||
21.2. | Introduction | Learning C++ | |||||
Concepts | requirements, concepts | ||||||
21.2. | Tutorial |
||||||
27.2. | Templates | lvalue/rvalue, perfect forwarding |
variadic templates universal references, forwarding |
||||
6.3. | Templates | Working with references and values | |||||
Templates | Standard library traits and tags | ||||||
6.3. | Tutorial |
my_tuple | |||||
13.3. | Metaprogramming in C++ | Iteration through variadic lists | |||||
metaprogramming | |||||||
20.3. | Type deduction | auto, structure bindings, deduction rules | structured bindings auto decltype type deduction C++20 | ||||
20.3. | Assignment #1 | ||||||
27.3. | Type deduction | deduction rules, CTAD, uniform initialization | CTAD initialization modules | ||||
3.4. | Type system | type compatibility, type erasure, any, variant, visit, overload | type erasure overload variant | ||||
3.4. | Tutorial |
||||||
7.4. | Deadline #1 | ||||||
10.4. | Libraries | ranges, span, ud literals, ..., C++23 & beyond | ranges chrono | ||||
17.4. | Parallel programming |
C++11 concurrency parallel algorithms, tasks, concurrency, parallel algorithms again C++11 parallelism, C++11 concurrency again |
|||||
17.4. | Evaluation #1 + Assignment #2 | ||||||
24.4. | Parallel programming | some scary reading: BAD, UGLY, and GOOD | |||||
24.4. | Tutorial |
||||||
5.5. | Deadline #2 | ||||||
15.5. | Parallel programming | ||||||
15.5. | Evaluation #2 + Assignment #3 | ||||||
22.5. | Networking, databases, AIO Coroutines |
|
|
Exploring C++20 Coroutines, Coroutines introduction, C++20 coroutines tutorial | |||
2.6. | Deadline #3 | ||||||
Additional slides | |||||||
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, interoperability | Modules | ||||||
type deduction CTAD initialization ranges | modules variant |