/itmo-cpp

C++ Language course in ITMO University

en en

C++ Language

Course was designed and taught by Ivan Sorokin at ITMO University in 2018 (year2017, 2nd–3rd semesters).

Theory

1st semester

  1. Introduction to registers and assembler
  2. Computer architecture
  3. Basics of C++
  4. Program compilation process
  5. Structures and classes
  6. Inheritance and virtual functions
  7. Security and exceptions
  8. Memory model in C++
  9. Templates
  10. Undefined Behaviour
  11. STL
  12. namespace & ADL

2nd semester

  1. Intrusive containers. Heterogeneous lookup. shared_ptr & weak_ptr.
  2. Rvalue references
  3. Lamda calculus in C++
  4. std::signal and reentrancy
  5. Type operations in C++
  6. Multithreading in C++
  7. Asynchronous execution
  8. Ranges
  9. Corrutines in C++
  10. Unicode support
  11. Work with File System

Homeworks

1st semester

  1. Arithmetics with assembler: statements is stored locally, solution has been lost
  2. big_integer (statements (ru) and solution)
  3. Small Object & Copy-on-Write optimizations (statements (ru) and solution together with big_integer)
  4. Huffman's algorithm (statements (ru) and solution)

2nd semester

  1. Search files by substring (statements (ru) and solution)
  2. Search for duplicate files (statements (ru) and solution)

Exam works

1st semester

2nd semester

  • intrusive_ptr: statements is stored locally, solution has been lost

Useful links