2024/2025![Цель освоения дисциплины](/f/src/global/i/edu/objectives.svg)
![Планируемые результаты обучения](/f/src/global/i/edu/results.svg)
![Содержание учебной дисциплины](/f/src/global/i/edu/sections.svg)
![Элементы контроля](/f/src/global/i/edu/controls.svg)
![Промежуточная аттестация](/f/src/global/i/edu/intermediate_certification.svg)
![Список литературы](/f/src/global/i/edu/library.svg)
Прикладное программирование на Python
Статус:
Маго-лего
Когда читается:
2, 3 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Горшков Сергей Сергеевич
Язык:
русский
Кредиты:
6
Программа дисциплины
Аннотация
В данном курсе изучаются основные инструменты и подходы, которые используются в backend-разработке современных сервисов на языке Python.Курс предназначен для освоения веб-фреймворка FastAPI и всей сопутствующей экосистемы: асинхронное программирование, тестирование, SQLAlchemy, Redis, Celery, Pytest, логирование, мониторинг.
Цель освоения дисциплины
- Понимать фундаментальные принципы современной разработки программного обеспечения и уметь применять их в Python
- Знать основные концепции разработки веб-сервисов в сфере применения языка Python
- Иметь навыки по декомпозиции кода, организации архитектуры приложения, следованию определенному стилю написания программ
Планируемые результаты обучения
- Слушатели освоят весь спектр возможностей языка Python для реализации объектно-ориентированного подхода
- На занятии рассматриваются вопросы контроля типов переменных и функций с использованием комментариев и аннотаций
- Навыки построения веб-сервиса, демонстрирующего результаты проведенного аналитического исследования и умение презентовать модели в виде наглядного интерактивного дашборда
- Освоение асинхронного подхода в программировании на языке Python
- Демонстрация разработки Telegram-ботов на языке Python с использованием асинхронной библиотеки AIOgram
- Разбор основных инструментов для модульного (тестирование отдельных компонентов ПО) и для функционального тестирования (тестирование способности кода удовлетворять бизнес-требованиям) на языке Python
- Слушатели научатся работать с базами данных SQL в Python: писать запросы, получать информацию из таблиц, реализовывать ORM
- Реализация полноценного веб-сервиса на фреймворке FastAPI
Содержание учебной дисциплины
- Объектно-ориентированное программирование
- Аннотации типов
- Фреймворк Streamlit
- Асинхронность
- Telegram-боты
- Тестирование
- SQL
- FastAPI
Элементы контроля
- Проект. Разработка Telegram бота для презентации модели машинного обучения
- Итоговый проект. Реализация веб-сервиса с использованием фреймворка FastAPI
- Домашнее задание 2. Тестирование веб-сервиса
- Домашние задание 1. Разработка интерактивного дашборда с использованием фреймворка Streamlit
Промежуточная аттестация
- 2024/2025 3rd module0.15 * Домашнее задание 2. Тестирование веб-сервиса + 0.15 * Домашние задание 1. Разработка интерактивного дашборда с использованием фреймворка Streamlit + 0.4 * Итоговый проект. Реализация веб-сервиса с использованием фреймворка FastAPI + 0.3 * Проект. Разработка Telegram бота для презентации модели машинного обучения
Список литературы
Рекомендуемая основная литература
- Лучано, Р. Python. К вершинам мастерства / Р. Лучано , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2016. — 768 с. — ISBN 978-5-97060-384-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/93273 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Фаулер, М. Asyncio и конкурентное программирование на Python / М. Фаулер , перевод с английского А. А. Слинкина. — Москва : ДМК Пресс, 2023. — 398 с. — ISBN 978-5-93700-166-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/314963 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.