Бакалавриат
2024/2025




Современная разработка программных систем с использованием языка Python
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Где читается:
Факультет менеджмента (Пермь)
Когда читается:
4-й курс, 3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Чижа Дмитрий Вадимович
Язык:
русский
Кредиты:
6
Программа дисциплины
Аннотация
В данном курсе рассматривается разработка распределённых программных систем для выбранной студентом предметной области. Особое внимание уделяется вопросам проектирования, масштабирования и поддержки высоконагруженных систем. Слушатели познакомятся с инструментами для реализации кэширования, распределённых блокировок, шардирования, репликациииасинхроннойобработкизадач. Кроме того, участники изучат возможные подходы к интеграции компонентов разрабатываемой распределённой системы. Курс предоставляет студентам как теоретические, так и практические знания, необходимые для создания современных распределённых программных систем. Размещение исходного кода проекта на веб-хостинге, позволит продемонстрировать усвоенные навыки.
Цель освоения дисциплины
- Овладение студентами знаний и навыков необходимых для разработки распределённых программных систем, компоненты которых могут иметь различный технологический стек. Углубление знаний в экосистеме выбранного языка программирования или нескольких языков.
Планируемые результаты обучения
- Студент способен разрабатывать программы с использованием асинхронного кода.
- Студент способен разрабатывать программы с использованием современных практик разработки программного обеспечения.
- Студент способен автоматизировать процесс поддержки качества кода благодаря автоматическим тестам и статистическому анализу кода.
- Студент способен проектировать и разрабатывать сервисы с использованием различных протоколов взаимодействия, таких как: REST API, GraphQL API, JSON-RPC, gRPC.
- Студент способен разрабатывать чат-ботов для мессенджеров Telegram и VK.
Содержание учебной дисциплины
- Раздел 1. Основы распределённых систем.
- Раздел 2. Процессы и потоки.
- Раздел 3. Протоколы взаимодействия.
- Раздел 4. Быстродействие и надёжность распределённых систем.
- Раздел 5. Чат-боты.
- Раздел 6. Разработка проекта и подготовка к собеседованиям.
Промежуточная аттестация
- 2024/2025 3rd module0.16 * Практика №1 + 0.16 * Практика №2 + 0.16 * Практика №3 + 0.16 * Практика №4 + 0.2 * Практика №5 + 0.16 * Практика №6
Список литературы
Рекомендуемая основная литература
- Высоконагруженные приложения. Программирование, масштабирование, поддержка - 978-5-4461-0512-0 - Клеппман М. - 2022 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/357916 - 357916 - iBOOKS
Рекомендуемая дополнительная литература
- Наир, В. Предметно-ориентированное проектирование в Enterprise Java : руководство / В. Наир , перевод с английского А. В. Снастина. — Москва : ДМК Пресс, 2020. — 306 с. — ISBN 978-5-97060-872-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/179503 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.