[Специалист] Программирование на языке Python. Уровень 2. Продвинутый курс [Вера Баринова]

295

Модуль 1. Понятие класса. Инкапсуляция

  • Класс и экземпляр класса.
  • Данные экземпляра, методы экземпляра и свойства экземпляра.
  • Понятие атрибута.
  • Практикум: Создание класса и его экземпляров.

Модуль 2. Наследование

  • Принцип утиной типизации.
  • Понятия базового класса и производного класса.
  • Функция isinstance и ее применение.
  • Практикум: Создание производного класса, применение экземпляров базового и производного класса.

Модуль 3. Полиморфизм и абстракция

  • Подмена методов в производном классе.
  • Понятие абстрактного класса.
  • Практикум: Применение полиморфных классов.

Модуль 4. Практическая работа 4

Модуль 5. Алгоритмы сортировки и поиска

  • Основные алгоритмы сортировки и поиска.
  • Понятие сложности алгоритма.
  • Практикум. Поиск информации по заданному критерию.

Модуль 6. Алгоритмы поиска на графах

  • Поиск в ширину.
  • Поиск в глубину.
  • Практикум. Построение пути в графе.

Модуль 7. Структуры данных

  • Понятие о структуре данных.
  • Список и запись как основные структуры данных.
  • Таблица и другие практически важные структуры данных.
  • Практикум. Представление записей и таблиц в программе на языке Python.

Модуль 8. Стандартные абстрактные типы данных

  • Контейнерные типы.
  • Библиотечные модули collections и collections.abc
  • Практикум. Схема «Компонент-Контейнер» и ее применение.

Модуль 9. Хранение данных вне программы

  • Сохранение и восстановление данных. Библиотечный модуль pickle.
  • Понятие об объектно-реляционном соответствии.
  • Практикум. Применение модуля pickle для хранения и передачи данных.

Модуль 10. Практическая работа

  • Поиск маршрута между двумя пунктами.
  • Обработка XML-документа.
  • Комплектование и обработка заказа.
  • Игра в шахматы (программная часть).
  • Веб-скрейпинг.
  • Составление расписания учебных занятий.
  • Написание бота для Telegram.
  • Расчет простой электрической сети постоянного тока.
  • Обработка видео с использованием внешнего ПО.