Курс: Программирование на языке Python. Комплексная программа
Продолжительность курса: 40 ак. ч.
Описание курса:
Python – мощный высокоуровневый язык программирования, идеально подходящий для разработки самостоятельных программ и сценариев. Python используют такие гиганты, как Google, Intel, Cisco и Hewlett-Packard, на нем работают популярные площадки YouTube, «ВКонтакте», DropBox. Python – язык программирования, который будет востребован еще очень долго!
Python отличает простой и понятный синтаксис, благодаря которому писать код гораздо легче, чем на других языках. Разработчики на Python ценят красоту и ясность кода, что нашло отражение в их философии под названием «Дзен Питона». «Читаемость имеет значение», «Простое лучше, чем сложное» – вот некоторые положения этой философии.
Аудитория:
Курс предназначен для программистов, аналитиков, научных работников. Также курс может служить введением в Data Science.
Необходимая подготовка:
Успешное окончание курса Основы программирования и баз данных или эквивалентная подготовка.
Результат обучения:
После изучения курса слушатель будет уметь:
• создавать собственные классы;
• оценивать сложность алгоритма;
• использовать важнейшие стандартные структуры данных;
• создавать собственные структуры данных на основе стандартных.
Программа курса:
Модуль 1. Начало работы
• Версии и реализации языка Python
• Основные принципы работы интерпретатора Python
• Установка интерпретатора и среды разработки используемых на курсе
• Основные элементы программирования
Модуль 2. Управляющие конструкции
• Ветвление
• Циклы
• Простой ввод и простой вывод
• Практикум
Модуль 3. Функции и коллекции
• Словарь
• Список
• Кортеж
• Последовательность
• Перебор (for)
• Функция
• Генератор-функция
Модуль 4. Модули и пакеты
• Создание собственного модуля
• Создание пакета
• Подсистема pip
• Краткий обзор стандартной библиотеки
• Установка стороннего модуля
• Практикум
Модуль 5. Работа с файловой системой
• Работа с файлами
• Работа с каталогами
• Обработка параметров командной строки
• Практикум
Модуль 6. Исключения и обработка ошибок
• Понятие об исключении
• Выброс исключения
• Перехват исключения
• Стандартные исключения
• Практикум
Модуль 7. Регулярные выражения и основы синтаксического разбора
• Понятие о регулярном выражении
• Синтаксис регулярных выражений
• Применение регулярных выражений
• Практикум
Модуль 8. Элементы функционального программирования
• Функция как объект
• Операция замыкания (closure) и операция каррирования (currying)
• Понятие о декораторе
• Практическая работа
Модуль 9. Понятие класса. Инкапсуляция
• Класс и экземпляр класса.
• Данные экземпляра, методы экземпляра и свойства экземпляра.
• Понятие атрибута.
• Практикум: Создание класса и его экземпляров.
Модуль 10. Наследование
• Принцип утиной типизации.
• Понятия базового класса и производного класса.
• Функция isinstance и ее применение.
• Практикум: Создание производного класса, применение экземпляров базового и производного класса.
Модуль 11. Полиморфизм и абстракция
• Подмена методов в производном классе.
• Понятие абстрактного класса.
• Практикум: Применение полиморфных классов.
Модуль 12. Алгоритмы сортировки и поиска
• Основные алгоритмы сортировки и поиска.
• Понятие сложности алгоритма.
• Практикум. Поиск информации по заданному критерию.
Модуль 13. Алгоритмы поиска на графах
• Поиск в ширину.
• Поиск в глубину.
• Практикум. Построение пути в графе.
Модуль 14. Структуры данных
• Понятие о структуре данных.
• Список и запись как основные структуры данных.
• Таблица и другие практически важные структуры данных.
• Практикум. Представление записей и таблиц в программе на языке Python.
Модуль 15. Стандартные абстрактные типы данных
• Контейнерные типы.
• Библиотечные модули collections и collections.abc
• Практикум. Схема «Компонент-Контейнер» и ее применение.
Модуль 16. Хранение данных вне программы
• Сохранение и восстановление данных. Библиотечный модуль pickle.
• Понятие об объектно-реляционном соответствии.
• Практикум. Применение модуля pickle для хранения и передачи данных.
Модуль 17. Web-разработка с применением концепции MVC
• История и развитие веб-программирования, различные подходы.
• Идеи MVC-подхода: разделение логики, интерфейса и данных.
• Установка Web-фреймворка Django.
• Структура проекта.
Модуль 18. Основы использования шаблонов
• Передача данных из приложения в шаблоны.
• Использование циклов и выбора в шаблонах.
Модуль 19. Хранение и работа с данными
• Способы хранения данных
• Создание и администрирование БД.
• Схема БД: таблицы, связи между ними, ключи.
• Отображение данных в БД на объекты приложения (ORM).
• Реализация операций выборки, создания, удаления и изменения объектов.
Модуль 20. Использование форм
• Специальные средства создания форм.
• Проверка параметров форм.
Модуль 21. Разграничение прав доступа пользователей
• Авторизация пользователей и разграничение прав доступа.
• Сессии, не требующие регистрации.
• Безопасность.
Модуль 22. Сложные запросы к данным
• Реализация сложных запросов.
• Соединение запросов, подзапросы.
• Вызов хранимых процедур.
Модуль 23. Расширенные возможности шаблонного механизма
• Встроенные фильтры.
• Создание своих фильтров.
Модуль 24. Выдача данных в форматах, отличных от HTML
• Отделение статического контента от динамического.
• Отправка почтовых уведомлений.
• Отдача лент новостей.
• Генерация PDF-документов
Модуль 25. Средства отладки и тестирования
• Журналирование.
• Встроенный интерфейс администрирования.
• Модульное тестирование.
Модуль 26. Развертывание веб-приложений
• Использование встроенного веб-сервера, CGI, FastCGI и mod_python.
• Развертывание и миграция БД.
Модуль 27. Установка и настройка программного обеспечения. Базовый инструментарий
• Принципы организации и управления вычислениями. Используемые языки программирования и взаимосвязь между ними.
• Необходимые пакеты Python: numpy, Matplotlib, Pandas, Jupyter и другие.
• Дистрибутив Anaconda, его преимущества и недостатки.
• Установка пакетов в Linux.
• Установка пакетов в Windows. Возможные проблемы и методы их решения.
Модуль 28. Библиотека numpy. Вычислительные задачи
• Понятие массива и его основные характеристики.
• Структура библиотеки.
• Типы данных библиотеки numpy.
• Принципы вычислений.
• Универсальные функции.
• Важнейшие стандартные функции.
Модуль 29. Библиотека Matplotlib. Визуализация данных
• Виды графиков и диаграмм.
• Основные элементы диаграммы.
• Создание диаграммы.
• Форматы изображений
Модуль 30. Библиотека Pandas. Статистика и анализ
• Объект Series.
• Объект DataFrame.
• Загрузка и выгрузка данных.
• Организация колонок и строчек.
• Пропуски и повторы.
Модуль 31. Статистика. Временные ряды
• Типы данных для представления времени.
• Объект Period.
• Основные операции статистики.
• Объединение данных.
• Сцепление и наложение (concatenating and stacking).
• Слияние (merging and joining).
Окончательная цена указывается в договоре на обучение.
Записаться на курс