• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 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
  • Введение в Django
    MVC, models, databases, Django environment, организация проекта, миграции
  • Django
    Views, templates, forms; Создание первого прототипа, generic relations
  • Django
    Django apps, extensions, UI
  • Django
    Management 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