02.12.2022. Лекция №12. Многопоточность ч.2

Развернуть

  1. std::shared_mutex
  2. std::call_once
  3. std::condition_variable
  4. std::async
  5. std::packaged_task
  6. std::promise
  7. std::shared_future
  8. std::future desctruction

25.11.2022. Лекция №11. Многопоточность ч.1

Развернуть

  1. Multitasking
  2. std::thread
  3. Race conditions
  4. std::mutex
  5. Deadlock
  6. std::recursive_mutex
  7. std::unique_lock

07.02.2022. Лекция №1. Введение в ООП.

Развернуть

  1. Почему ООП и С++? О курсе.
  2. Парадигмы программирования.
  3. Объекты и их взаимодействие.
  4. Основные принципы ООП.
  5. Вспоминаем С.
  6. Правила оформления кода на С.

26.04.2021. Лекция №10. Отношения между классами. Принцип открытия-закрытия.

Развернуть

  1. Наследование.
  2. Композиция. Выбор между композицией и наследованием.
  3. Агрегация. Разница между композицией и агрегацией.
  4. Ассоциация.
  5. Пример замены композиции на ассоциацию.
  6. Принцип открытия-закрытия (OCP).
  7. Как вносить изменения, не нарушая принцип OCP? Выделение абстракции.

19.04.2021. Лекция № 9. Хорошие и плохие ОО-программы

Развернуть

  1. Общие требования к классам (декомпозиция, модульная композиция, модульная понятность, модульная непрерывность, модульная защищённость).
  2. Простая и незамысловатая реализация программы вычисления медиан.
  3. Реализация с одним большим классом.
  4. Принцип одной зоны ответственности (Single Responsibility Principle, SRP).
  5. Разнесение зон ответственности через структуры данных. Функциональный подход.
  6. Разделение вычисления медиан на классы Parser и MediansMedian.
  7. Альтернативное разделение на классы: Parser, ParserClient и MediansMedian. «Активные» и «пассивные» классы.

12.04.2021. Лекция №8. Исключения.

Развернуть

  1. Abnormal program termination.
  2. Return error codes.
  3. Macro errno.
  4. try/catch/throw.
  5. Using objects as exceptions.
  6. Exception specifications.
  7. Unwinding stack.
  8. More exception features.
  9. RAII.
  10. Exceptions in constructors.
  11. Best practices.

05.04.2021. Лекция №7. STL алгоритмы.

Развернуть

  1. Copying items from containers to containers.
  2. Sorting containers.
  3. Transforming items in containers.
  4. Finding items.
  5. Locating patterns in strings with std::search.
  6. Dictionary merging tool.
  7. Fill and generate containers.
  8. Checks by predicate.
  9. Functor.

29.03.2021. Лекция №6. STL контейнеры.

Развернуть

  1. std::list.
  2. std::forward_list.
  3. std::map.
  4. std::multimap.
  5. std::set.
  6. std::unordered_map.
  7. std::unordered_multimap.
  8. std::unordered_set.
  9. Erase-remove idiom on std::vector.
  10. Filtering duplicates.
  11. Fast or safe way to access std::array or std::vector.
  12. Word frequency counter.

22.03.2021. Лекция №5. STL введение.

Развернуть

  1. Стандартные потоки ввода / вывода (standard input / output streams).
  2. Манипуляторы (manipulators).
  3. Файловый поток (std::fstream).
  4. Строковый поток (std::stringstream).
  5. std::string.
  6. Итераторы (iterators).
  7. auto & range-based for-loop.

Действия