Магистратура
2020/2021
Python: продвинутый уровень
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Курс по выбору (Финансовые технологии и анализ данных)
Направление:
01.04.02. Прикладная математика и информатика
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Прогр. обучения:
Финансовые технологии и анализ данных
Язык:
русский
Кредиты:
5
Контактные часы:
64
Программа дисциплины
Аннотация
Целями освоения дисциплины является формирование у студентов комплекса теоретических знаний и методологических основ в области технологий виртуализации, языка программирования Python, фреймворков Django и Luigi для него, а также практических навыков, необходимых для использования этих инструментов.
Цель освоения дисциплины
- формирование у студентов комплекса теоретических знаний и методологических основ в области технологий виртуализации
Планируемые результаты обучения
- уметь применять ООП подход на языке Python
- иметь навыки работы с базами данных на языке Python
- уметь создавать веб-сервисы с помощью фреймворка Django
- уметь строить пайплайны с фреймворками Luigi и Airflow
Содержание учебной дисциплины
- Базовое ООПОбъекты и классы. Инкапсуляция, полиморфизм и наследование. Exceptions
- Продвинутое ООПMagic methods, Exceptions inheritance, mro, logging
- Python core librariesСтруктура курса, контрольные мероприятия, оценка за работу в семестре. Работа с встроенными библиотеками: collections, itertools, functools, argparse, logging, os, sys, pickle.
- Работа с БДКраткое введение в базы данных. Python DB-API. Работа с PostgreSQL (psycopg), Oracle (cx_Oracle), NoSQL, Redis.
- Многопоточность и асинхронностьПовторение тем: Subprocess, GIL, Threading, Multiprocessing. Корутины. Конкурентное программирование с asyncio. Асинхронные фреймворки Tornado и Aiohttp
- Введение в DjangoMVC, models, databases, Django environment, организация проекта, миграции
- DjangoViews, templates, forms; Создание первого прототипа, generic relations
- DjangoDjango apps, extensions, UI
- DjangoManagement commands, sessions, messages, queues
- DjangoСдача проекта
- Виртуализация и DockerВведение в вирутализацию, контейнерная виртуализация. Использование Docker: Docker Hub, Dockerfile, Docker Engine
- Развертывание веб-сервисовuWSGI, gunicorn, systemd, nginx
- Построение пайплайновLuigi, airflow, kedro, pinball, dvc, mlflow
Элементы контроля
- Домашнее задание 1
- Домашнее задание 2
- Аудиторная работа
- Экзамен
- Домашнее задание 1
- Домашнее задание 2
- Аудиторная работа
- Экзамен
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.2 * Аудиторная работа + 0.2 * Домашнее задание 1 + 0.2 * Домашнее задание 2 + 0.4 * Экзамен
Список литературы
Рекомендуемая основная литература
- Меле А. - Django 2 в примерах - Издательство "ДМК Пресс" - 2019 - 408с. - ISBN: 978-5-97060-746-6 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/123711
- Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505
Рекомендуемая дополнительная литература
- Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2017. — 343 с. — (Высшее образование: Бакалавриат). - Режим доступа: http://znanium.com/catalog/product/772265