Целевая аудитория

Все желающие
• Программисты
• Специалисты IT-отрасли
• Системные администраторы
• Аналитики
• Студенты и научные сотрудники

Программа
  • 1. Классы и объекты

    • Введение в Объектною-ориентированное программирование (ООП)

    • Класс и экземпляр класса.

    • Данные экземпляра, методы экземпляра и свойства экземпляра

    • Создание собственного класса

    • Инкапсуляция

    • Атрибуты класса

    • Чтение и изменение атрибута.

    • Практикум: Разработка собственных классов. Определение нужных методов и свойств классов. Создание нескольких объектов

  • 2. Наследование

    • Роль наследования в ООП, понятие иерархии наследования

    • Принцип утиной типизации

    • Понятие базового класса и производного класса

    • Функция isinstance и ее применение.

    • Создание производного класса

    • Применение экземпляров базового и производного класса.

    • Практикум: Расширение готовых классов

  • 3. Абстрактные классы и полиморфизм

    • Полиморфизм. Принцип DRY и WET

    • Понятие абстракции

    • Знакомство с абстрактными классами Python

    • Подмена методов в производном классе. • Полиморфные классы

    • Контейнерные типы.

    • Библиотечные модули collections и collections.abc

    • Применение контейнерных типов

    • Практикум: Имплементация новых методов

  • 4. Алгоритмы сортировки и поиска в Python

    • Сложность алгоритмов, O(N) нотация. Типы сортировки.

    • Основные алгоритмы сортировки и поиска

    • Этапы разработки алгоритма

    • Разработка на Python оптимальных алгоритмов поиска • Оптимизация алгоритма  

    • Практикум: Реализация на Python алгоритма решателя Судоку.

    • Решение 100 сложнейших Судоку

  • 5. Алгоритмы поиска на графах

    • Введение в теорию графов, основные алгоритмы на графах

    • Теория графов. Представление графов в Python

    • Поиск в ширину

    • Поиск в глубину

    • Лабораторная работа: Имплементация графа на Python

    • Практикум: Нахождение кратчайшего пути проезда на примере графа станций московского метрополитена

  • 6. Записи и данных. Работа с данными SQLite

    • Разработка структуры данных

    • Сохранение данных.

    • Список и запись. Записи и таблицы

    • Чтение и запись Понятие об объектно-реляционном соответствии

    • Хранение данных пользователей в СУБД Sqlite

    • Использование СУБД Sqlite для хранения данных графа московского метрополитена

    • Практикум: Хранение данных пользователей в СУБД Sqlite

  • 7. Хранение данных вне программы

    • Понятие о структуре данных

    • Использование структуры для хранения данных

    • Хранение данных вне Python

    • Сохранение и восстановление данных.

    • Библиотечный модуль pickle и shelve

    • Практикум Сохранение данных графа и использованием модуля pickle

  • 8. Работа с данными JSON в Python

    • Знакомство с форматом JSON. Работа с форматом JSON в Python.

    • Сериализация и десериализация файлов JSON в Python.

    • Хранение данных вне Python

    • Сохранение данных в файл JSON

    • Практикум: Составление графа московского метрополитена на основе файла JSON