• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2025/2026

Научно-исследовательский семинар «Экосистема языка Rust»

Статус: Курс по выбору (Программная инженерия)
Когда читается: 4-й курс, 1-3 модуль
Охват аудитории: для своего кампуса
Язык: русский
Контактные часы: 48

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

Аннотация

На семинаре рассматриваются механизмы безопасности и эффективности языка Rust, инструменты поддержки и сопровождения, возможности построения CLI утилит, облачных сервисов и моделей машинного обучения, способы интеграции с языковыми стеками Python и JS, области применения и сценарии использования в современной промышленной разработке.
Цель освоения дисциплины

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

  • Освоение основных концепций языка программирования Rust и селекция инструментов его экосистемы для написания эффективного и безопасного кода с его последующей интеграцией в другие языковые стеки на примере Python и JS.
Планируемые результаты обучения

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

  • 1. Обоснует особенности и компромиссы дизайна языка Rust. 2. Владеет основными языковыми конструкциями, базовыми библиотеками и инструментами. 3. Применяет инструменты проекта PyO3 для построения Python приложений на основе Rust кода. 4. Применяет инструменты разработки Rust приложений для WebAssembly. 5. Разъясняет основные сценарии использования Rust и преимущества его экосистемы.
Содержание учебной дисциплины

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

  • Особенности языка Rust и его базовый синтаксис
    Объясняет проектные решения и компромиссы языка Rust, владеет основными его синтаксическими конструкциями.
  • Borrowing. Жизненный цикл данных. Отличие от ООП.
    Представляет назначение borrowing-правил и объясняет отличия Rust от современного ООП.
  • Построение стандартных структур данных. Абстракция данных, абстрактные типы данных и их реализация на Rust.
    Объясняет особенности реализации абстрактных типов данных на языке Rust. Умеет создавать и использовать структуры данных.
  • Макросы. Undsfe. Продвинутый Pattern matching.
    Умеет создавать макросы, оценивает необходимость unsafe-блоков, использует pattern matching для повышения читабельности кода.
  • Networking. Multithreading. Async, await.
    Применяет возможности многопоточности и асинхронного программирования. Реализует сетевые приложения с использованием async/await.
  • Полезные библиотеки. Rocket, Polars, cot и т.п.
    Ориентируется в экосистеме Rust, применяет библиотечные решения для разработки веб-приложений, обработки данных и асинхронного программирования.
  • Современный Python и нативный Python библиотеки на Rust с помощью PyO3.
    Применяет PyO3 для создания и интеграции библиотек на языке Rust в проекты Python. Понимает преимущества такой интеграции.
  • WebAssembly (WASM) на Rust.
    Создаёт и интегрирует WebAssembly-модули, понимает специфику работы в браузере и повышенную эффективность за счёт Rust и WASM.
  • Embedded программирование на rust и toolchain installer, rustup.
    Применяет rustup для управления toolchain. Ориентируется в основах embedded программирования на Rust.
Элементы контроля

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

  • неблокирующий ПР
    командный проект: ПР = 0.1 * ТЗ + 0.4 * КТ + 0.5 * ЗП ТЗ – защита технического задания. Должно быть представлено техническое задание, включающее явно прописанные функциональные требования и идею проекта. КТ – защита контрольной точки. Промежуточная защита, должно быть выполнено 50% работы. ЗП – финальная защита проекта.
  • неблокирующий У1
    У1- Решение комплекса упражнений rustlings Оценка является процентом выполненных упражнений из комплекса
  • неблокирующий У2
    У2 - Решение упражнений Rust by practise Оценка является процентом выполненных упражнений из комплекса
  • неблокирующий Э
    экзамен
Промежуточная аттестация

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

  • 2025/2026 3rd module
    0.4 * ПР + 0.15 * У1 + 0.15 * У2 + 0.3 * Э
Список литературы

Список литературы

Рекомендуемая основная литература

  • 16628 - Alpina - Программирование на языке Rust - Д.Блэнди; Д.Орендорф - ДМК Пресс - 2018 - https://hse.alpinadigital.ru/document/16628
  • Блэнди, Д. Программирование на языке Rust. Быстрое и безопасное системное программирование / Д. Блэнди, Д. Орендорф , перевод с английского А. А. Слинкина. — Москва : ДМК Пресс, 2018. — 550 с. — ISBN 978-5-97060-236-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/112925 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Программирование на Rust - 978-5-4461-1656-0 - Стив Клабник, Кэрол Николс - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/373512 - 373512 - iBOOKS
  • Программирование на языке Rust : быстрое и безопасное системное программирование, Блэнди, Дж., 2018

Рекомендуемая дополнительная литература

  • Современный подход к программной архитектуре: сложные компромиссы. - 978-5-4461-2024-6 - Форд Нил, Ричардс Марк, Садаладж Прамод, Дехгани Жамак - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/391724 - 391724 - iBOOKS

Авторы

  • Лебедев Сергей Аркадьевич
  • Буцкая Евгения Александровна
  • Незнанов Алексей Андреевич