Теоретический минимум по курсу «Компьютерные технологии на базе языка программирования Python», семестр II-4

  1. Списковые включения и их аналоги для словарей. Сравнение с функциями map и filter.
  2. Итераторы. Привести примеры стандартных способов пробежаться по элементам списка. Комбинаторные итераторы из модуля itertools.
  3. Генераторы. Отличие от итераторов. Ленивые вычисления.
  4. Декораторы: принцип работы и примеры.
  5. Что такое: инкапсуляция, наследование, полиморфизм? Пояснить механизм реализации каждого из принципов объектно-ориентированного программирования в синтаксисе языка программирования Python.
  6. Атрибуты класса и атрибуты экземпляра. Особенности объявления методов в классах. Статические методы.
  7. Наследование. Вызов метода суперкласса. Множественное наследование.
  8. Абстрактный базовый класс. Абстрактный метод. Интерфейс класса.
  9. Перегрузка специальных методов и операторов. Реализация протокола итерируемого объекта. Реализация протокола вызываемого объекта.
  10. Перегрузка специальных методов и операторов. Арифметические операторы.
  11. Исключения в Python. Перехват и обработка исключений: конструкции try/except и try/finally.
  12. Исключения в Python. Стратегии контроля ошибок LBYL и EAFP: преимущества и недостатки.
  13. Библиотека PySide. Событийный цикл. QApplication и его роль.
  14. Библиотека PySide. QMainWindow, его макет и настройка внешнего вида.
  15. Библиотека PySide. Макеты и их роль. Виды макетов: QHBoxLayout, QVBoxLayout, QGridLayout и QFormLayout.
  16. Библиотека PySide. События, слоты и сигналы. Примеры стандартных слотов. Виды кнопок.
  17. Способы представления изображений в компьютере. Пространства цветов RGB и HSV.
  18. Библиотека OpenCV. Фильтрация изображений: фильтры Лапласа, Собеля
  19. Основы машинного обучения. Постановка задач классификации и регрессии. Функции потерь и метрики качества.
  20. Библиотека scikit-learn. Классификаторы, их обучение и применение: линейная регрессия, метод ближайших соседей, методы опорных векторов, решающие деревья.
  21. Библиотека torch. Граф вычислений и взятие производной. Оптимизация. Вычисления на GPU.
  22. Библиотека torch. Проектирования нейронных сетей: класс Sequential, модули полносвязных и свёрточных слоёв.