Бакалавриат
2026/2027




Разработка приложений Python с использованием ИИ-ассистентов
Статус:
Курс по выбору (Экономический анализ)
Где читается:
Факультет экономических наук
Когда читается:
4-й курс, 3 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
44
Программа дисциплины
Аннотация
Курс предназначен для студентов, владеющих базовым синтаксисом Python и желающих освоить создание современных приложений с активным применением ИИ-ассистентов.
Цель курса — углубить знания в объектно-ориентированном программировании и познакомить с современными практиками разработки, где ИИ выступает в роли интеллектуального напарника. В ходе обучения вы научитесь проектировать пользовательские классы, применять модули стандартной библиотеки и эффективно интегрировать ИИ-инструменты в свой рабочий процесс для ускорения написания, тестирования и рефакторинга кода.
Итогом освоения дисциплины станет умение разрабатывать полноценные приложения, используя ИИ-ассистентов. Это позволит вам успешно решать прикладные задачи в учебной и будущей профессиональной деятельности.
Цель освоения дисциплины
- Знать: принципы объектно-ориентированного программирования в Python, возможности стандартной библиотеки, методы промпт-инжиниринга (составления запросов) для работы с ИИ-ассистентами, а также принципы работы с API сторонних ИИ-сервисов.
- Уметь: проектировать архитектуру приложения, формулировать точные технические задания для ИИ-ассистентов, интегрировать внешние нейросетевые модели в свой код, проводить рефакторинг и отладку с помощью ИИ.
- Владеть: современными ИИ-инструментами для разработки (копайлоты, нейросетевые IDE), практиками написания чистого кода и навыками создания полноценных приложений с встроенными функциями искусственного интеллекта.
Планируемые результаты обучения
- Знать: встроенные типы данных Python и их изменяемость; принципы работы включений и генераторов; правила разрешения имён (LEGB) и области видимости; синтаксис аннотаций типов.
- Уметь: выбирать подходящий тип данных под задачу; заменять циклы включениями там, где это повышает читаемость; писать функции с позиционными, именованными и произвольными параметрами; применять map(), filter(), zip() и лямбда-выражения; использовать генераторы для обработки больших последовательностей без загрузки их в память.
- Владеть: приёмами обработки коллекций средствами стандартной библиотеки (в т.ч. collections.Counter); навыком аннотирования сигнатур функций; практикой формулирования запроса к ИИ-ассистенту на генерацию вспомогательной функции и последующей проверки полученного кода.
- Знать: модель объектов Python, различие переменных класса и экземпляра, назначение __slots__; состав и семантику магических методов; правила наследования и порядок разрешения методов (MRO); механику дескрипторов и декораторов.
- Уметь: проектировать иерархию классов под предметную область; перегружать операторы и корректно реализовывать __eq__ вместе с __hash__; применять абстрактные базовые классы для фиксации контракта; писать собственные декораторы, в том числе с аргументами; использовать замыкания.
- Владеть: навыками объектно-ориентированного проектирования приложения; практиками написания чистого кода (осмысленные имена, единственная ответственность класса); умением поручить ИИ-ассистенту черновую реализацию класса по описанному контракту и провести ревью результата.
- Знать: структуру стандартной библиотеки и способы подключения сторонних пакетов; событийную модель GUI-приложения; форматы CSV и JSON и их ограничения; основы реляционной модели и синтаксиса SQL.
- Уметь: строить оконный интерфейс на Tkinter с обработкой событий; визуализировать данные средствами Matplotlib; выполнять векторные вычисления на массивах NumPy; читать и записывать CSV/JSON; выполнять запросы к базе SQLite из Python и безопасно передавать параметры запроса.
- Владеть: навыком разработки настольного приложения с графическим интерфейсом и сохранением данных; приёмами разделения слоя интерфейса и слоя логики; практикой генерации типового кода интерфейса и парсинга данных с помощью ИИ-ассистента с последующей отладкой.
- Знать: модель клиент-серверного взаимодействия и структуру HTTP-запроса; принципы REST и назначение спецификации OpenAPI; отличие синхронного и асинхронного выполнения; устройство API больших языковых моделей (роли сообщений, параметры генерации, потоковая передача, токены и стоимость); базовые приёмы промпт-инжиниринга.
- Уметь: разрабатывать веб-приложение на FastAPI с маршрутизацией и валидацией данных через Pydantic; описывать и документировать собственный REST API; писать асинхронный код с async/await; обращаться к внешним HTTP-сервисам через httpx/requests с обработкой ошибок и таймаутов; проектировать промпт, возвращающий структурированный ответ в формате JSON; хранить ключи доступа вне исходного кода (переменные окружения); организовывать хранение данных через SQLAlchemy.
- Владеть: навыком создания веб-приложения со встроенными функциями искусственного интеллекта; практикой контроля расходов и обработки отказов внешнего ИИ-сервиса; приёмами итеративного улучшения промпта по результатам тестирования.
- Знать: назначение виртуальных окружений и способы фиксации зависимостей; модель ветвления и слияния в Git; уровни тестирования и назначение фикстур; принципы статического анализа и типизации; различие образа и контейнера, устройство слоёв образа; идею непрерывной интеграции; сильные и слабые стороны ИИ-ассистентов в разработке.
- Уметь: организовывать проект в виде пакетов с зафиксированными зависимостями; вести разработку в Git с ветками и pull request; писать юнит-тесты на pytest с фикстурами и параметризацией, оценивать покрытие; настраивать ruff/black/mypy; собирать образ по Dockerfile и поднимать связку «веб-приложение + база данных» через docker compose; настраивать простой пайплайн GitHub Actions; применять копайлот для генерации тестов, объяснения и рефакторинга кода.
- Владеть: навыком развёртывания приложения в контейнере; практиками верификации сгенерированного ИИ кода (тесты, ревью, проверка зависимостей); пониманием рисков безопасности и лицензионных ограничений при использовании ИИ-ассистентов; умением оценить, где применение ассистента даёт выигрыш, а где ведёт к скрытым дефектам.
Содержание учебной дисциплины
- Веб-разработка на Python. Интеграция ИИ-сервисов.
- Работа со встроенными типами. Функции.
- Проектирование и разработка типов на языке Python
- Использование библиотек. Стандартные библиотека и сторонние модули.
- Современный стек разработки. Контейнеризация и ИИ-ассистенты.
Промежуточная аттестация
- 2026/2027 3rd module0.25 * Экзамен + 0.25 * Проект + 0.25 * Контрольная работа + 0.25 * Домашние задание
Список литературы
Рекомендуемая основная литература
- 40 алгоритмов, которые должен знать каждый программист на Python. - 978-5-4461-1908-0 - Ахмад Имран - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/products/390129 - 390129 - iBOOKS
- Django 5 в примерах : разрабатывайте мощные и надежные веб-приложения на Python с нуля, Меле, А., 2025
- Git для профессионального программиста, Чакон, С., 2016
- Python - к вершинам мастерства : лаконичное и эффективное программирование, Рамальо, Л., 2022
- Python : исчерпывающее руководство, Бизли, Д. М., 2023
- Python и анализ данных : первичная обработка данных с применением pandas, NumPy и Jupiter, Маккинни, У., 2023
- Простой Python. Современный стиль программирования, Любанович, Б., 2023
Рекомендуемая дополнительная литература
- 25 Python. Как стать профессионалом: Пер. с англ. - 978-5-9775-1944-1 - Фаррелл Д. - 2024 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/396470 - 396470 - iBOOKS
- Изучаем Python. Т.1: ., Лутц, М., 2020
- Изучаем Python. Т.2: ., Лутц, М., 2020