• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Contemporary Software Systems Development with Python

2024/2025
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Delivered at:
Department of Information Technologies in Business (Faculty of Computer Science, Economics, and Social Sciences)
Course type:
Elective course
When:
4 year, 3 module

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

Аннотация

В данном курсе рассматривается разработка распределённых программных систем для выбранной студентом предметной области. Особое внимание уделяется вопросам проектирования, масштабирования и поддержки высоконагруженных систем. Слушатели познакомятся с инструментами для реализации кэширования, распределённых блокировок, шардирования, репликациииасинхроннойобработкизадач. Кроме того, участники изучат возможные подходы к интеграции компонентов разрабатываемой распределённой системы. Курс предоставляет студентам как теоретические, так и практические знания, необходимые для создания современных распределённых программных систем. Размещение исходного кода проекта на веб-хостинге, позволит продемонстрировать усвоенные навыки.
Цель освоения дисциплины

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

  • Овладение студентами знаний и навыков необходимых для разработки распределённых программных систем, компоненты которых могут иметь различный технологический стек. Углубление знаний в экосистеме выбранного языка программирования или нескольких языков.
Планируемые результаты обучения

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

  • Студент способен разрабатывать программы с использованием асинхронного кода.
  • Студент способен разрабатывать программы с использованием современных практик разработки программного обеспечения.
  • Студент способен автоматизировать процесс поддержки качества кода благодаря автоматическим тестам и статистическому анализу кода.
  • Студент способен проектировать и разрабатывать сервисы с использованием различных протоколов взаимодействия, таких как: REST API, GraphQL API, JSON-RPC, gRPC.
  • Студент способен разрабатывать чат-ботов для мессенджеров Telegram и VK.
Содержание учебной дисциплины

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

  • Раздел 1. Основы распределённых систем.
  • Раздел 2. Процессы и потоки.
  • Раздел 3. Протоколы взаимодействия.
  • Раздел 4. Быстродействие и надёжность распределённых систем.
  • Раздел 5. Чат-боты.
  • Раздел 6. Разработка проекта и подготовка к собеседованиям.
Элементы контроля

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

  • неблокирующий Практика №5
  • неблокирующий Практика №1
  • неблокирующий Практика №6
  • неблокирующий Практика №2
  • неблокирующий Практика №3
  • неблокирующий Практика №4
Промежуточная аттестация

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

  • 2024/2025 3rd module
    0.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). — Режим доступа: для авториз. пользователей.

Авторы

  • Карпович Марина Валерьевна