• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
01
Декабрь

Python: продвинутый уровень

2019/2020
Учебный год
RUS
Обучение ведется на русском языке
5
Кредиты
Статус:
Курс по выбору
Когда читается:
2-й курс, 1, 2 модуль

Программа дисциплины

Аннотация

Целями освоения дисциплины является формирование у студентов комплекса теоретических знаний и методологических основ в области технологий виртуализации, языка программирования 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 (неблокирующий)
  • Аудиторная работа (неблокирующий)
  • Экзамен (неблокирующий)
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.2 * Аудиторная работа + 0.2 * Домашнее задание 1 + 0.2 * Домашнее задание 2 + 0.4 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • - Меле А. — Django 2 в примерах - Издательство "ДМК Пресс" - 2019 - ISBN: 978-5-97060-746-6 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/123711
  • Федоров Д. Ю.-ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО-М.:Издательство Юрайт,2019-161-Профессиональное образование-978-5-534-11961-9: -Текст электронный // ЭБС Юрайт - https://biblio-online.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505

Рекомендуемая дополнительная литература

  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2017. — 343 с. — (Высшее образование: Бакалавриат). - Режим доступа: http://znanium.com/catalog/product/772265