Курс: Продвинутое программирование Python. Уровень 2
Продолжительность курса: 40 ак. ч.
Результат обучения:
После изучения курса слушатель будет уметь:
• создавать собственные классы;
• оценивать сложность алгоритма;
• использовать важнейшие стандартные структуры данных;
• создавать собственные структуры данных на основе стандартных.
Программа курса:
Модуль 1. Понятие класса. Инкапсуляция
• Класс и экземпляр класса.
• Данные экземпляра, методы экземпляра и свойства экземпляра.
• Понятие атрибута.
• Практикум: Создание класса и его экземпляров.
Модуль 2. Наследование
• Принцип утиной типизации.
• Понятия базового класса и производного класса.
• Функция isinstance и ее применение.
• Практикум: Создание производного класса, применение экземпляров базового и производного класса.
Модуль 3. Полиморфизм и абстракция
• Подмена методов в производном классе.
• Понятие абстрактного класса.
• Практикум: Применение полиморфных классов.
Модуль 4. Практическая работа
Модуль 5. Алгоритмы сортировки и поиска
• Основные алгоритмы сортировки и поиска.
• Понятие сложности алгоритма.
• Практикум. Поиск информации по заданному критерию.
Модуль 6. Алгоритмы поиска на графах
• Поиск в ширину.
• Поиск в глубину.
• Практикум. Построение пути в графе.
Модуль 7. Структуры данных
• Понятие о структуре данных.
• Список и запись как основные структуры данных.
• Таблица и другие практически важные структуры данных.
• Практикум. Представление записей и таблиц в программе на языке Python.
Модуль 8. Стандартные абстрактные типы данных
• Контейнерные типы.
• Библиотечные модули collections и collections.abc
• Практикум. Схема «Компонент-Контейнер» и ее применение.
Модуль 9. Хранение данных вне программы
• Сохранение и восстановление данных. Библиотечный модуль pickle.
• Понятие об объектно-реляционном соответствии.
• Практикум. Применение модуля pickle для хранения и передачи данных.
Модуль 10. Практическая работа
• Поиск маршрута между двумя пунктами.
• Обработка XML-документа.
• Комплектование и обработка заказа.
• Игра в шахматы (программная часть).
• Веб-скрейпинг.
• Составление расписания учебных занятий.
• Написание игрового сервера.
• Расчет простой электрической сети постоянного тока.
• Обработка видео с использованием внешнего ПО.
Окончательная цена указывается в договоре на обучение.
Записаться на курс