• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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 module
    0.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

Авторы

  • Таровик Елена Викторовна
  • Харькова Арина Владиславовна
  • Кабирова Ирина Александровна
  • Куренков Владимир Вячеславович