• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2026/2027

Промышленное программирование на Python

Статус: Маго-лего
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6
Контактные часы: 60

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

Аннотация

Курс нацелен на проектирование, разработку и развертывание сервисов на языке Python; проведение тестирований ПО и мониторинг работы сервера.
Цель освоения дисциплины

Цель освоения дисциплины

  • Основы разработки standalone приложений
  • Тестирования (функциональное, unit-тестирование, продуктовое)
  • Настройка CI/CD
Планируемые результаты обучения

Планируемые результаты обучения

  • Студент знает: базовый синтаксис, управляющие конструкции, виды тестирования, TDD, подходы к тестированию.
  • Умеем разрабатывать тесты для готовой задачи. Демонстрирует владение базовым синтаксисом языка.
  • Студент знает: как работают функции в питоне, как определять виды параметров, как реализовать передачу аргументов, что такое, области видимости, как работает поиск переменных в областях видимости, что такое декораторы и зачем они нужны
  • Студент умеет использовать функции, писать декораторы.
  • Студент знает синтаксис классов в питоне, какие бывают атрибуты, виды методов, что такое наследование, как ООП как, проявляется в Python, что такое property
  • Студент уметь применять принципы ООП, писать собственные классы.
  • Студент знает: как работают дескрипторы, что такое метаклассы и их синтаксис, зачем нужны абстрактные базовые классы и их синтаксис, что такое утиная типизация.
  • Студент умеет реализовывать метаклассы с дескрипторами
  • Студент знает: как работают itertools, functools, collections; что такое вещественные числа, и какие особенности у них есть; зачем нужны дата-классы; что такое enum, и как они работают.
  • Студент умеет реализовывать алгоритмы с использованием модулей
  • Студент знает: что такое асинхронное программирование и зачем оно нужно; принципы асинхронного программирования; средства реализации асинхронного программирования в Python (библиотечные, встроенные); когда следует использовать асинхронное программирование/
  • Студент умеет: производить асинхронную обкачку.
  • Студент знает: что такое потоки, как работают управление потоками и синхронизация потоков, что такое GIL, что такое процессы, какие есть способы создания и синхронизации процессов, что такое IPC
  • Студент умеет использовать и синхронизировать потоки
  • Студент знает: что такое асинхронное программирование и зачем оно нужно; принципы асинхронного программирования; средства реализации асинхронного программирования в Python (библиотечные, встроенные); когда следует использовать асинхронное программирование.
  • Студент умеет производить асинхронную обкачку
  • Студент знает:что такое логирование и зачем оно нужно средства Python для реализации логирования; встроенные инструменты отладки; правила форматирование кода по PEP-8
  • Студент умеет настраивать логирование в своем проекте
  • Студент знает: правила написания расширений для PythonОсобенности работы расширений, написанных на С. Основы синтаксиса С. Как интегрировать расширение в Python
  • Студент умеет: создавать простые расширения на C, подключать их из Python, производить замеры скорости
  • Студент знает: для чего нужна аннотация типов, синтаксис и правила использования применяется, на что влияет аннотация.
  • Студент знает: средства стандартной библиотеки для работы со структурами данных и модули с готовыми алгоритмами знать, что такое сложность алгоритмов.
  • Студент умеет: использовать встроенные средства для работы с известными структурами данных и алгоритмами
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в Python, основные понятия, тестирование
  • Функции, функциональное программирование
  • Объектная модель, введение в ООП.
  • ООП, дескрипторы, метаклассы
  • Стандартная библиотека Python, работа со строками, файлами
  • Потоки, GIL, процессы, IPC.
  • Асинхронное программирование.
  • Логирование, оформление кода, отладка
  • Расширения на C
  • Аннотация типов
  • Алгоритмы и СД с Python
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание
  • блокирующий Экзамен
Промежуточная аттестация

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

  • 2026/2027 2nd module
    Формула оценивания: SUM_ДЗ + SUM_ЭКЗ

Авторы

  • Юнышева Анастасия Владимировна
  • Сластников Сергей Александрович