Course was designed and taught by Ivan Sorokin at ITMO University in 2018 (year2017, 2nd–3rd semesters).
- Introduction to registers and assembler
- Computer architecture
- Basics of C++
- Program compilation process
- Structures and classes
- Inheritance and virtual functions
- Security and exceptions
- Memory model in C++
- Templates
- Undefined Behaviour
- STL
namespace
& ADL
- Intrusive containers. Heterogeneous lookup.
shared_ptr
&weak_ptr
. - Rvalue references
- Lamda calculus in C++
std::signal
and reentrancy- Type operations in C++
- Multithreading in C++
- Asynchronous execution
- Ranges
- Corrutines in C++
- Unicode support
- Work with File System
- Arithmetics with assembler: statements is stored locally, solution has been lost
big_integer
(statements (ru) and solution)- Small Object & Copy-on-Write optimizations (statements (ru) and solution together with
big_integer
) - Huffman's algorithm (statements (ru) and solution)
- Search files by substring (statements (ru) and solution)
- Search for duplicate files (statements (ru) and solution)
set_restore_guard
: statements (ru) and solutionsequence
: statements (ru) and solution
intrusive_ptr
: statements is stored locally, solution has been lost