Бакалавриат
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 Оценка является процентом выполненных упражнений из комплекса
- Ээкзамен
Список литературы
Рекомендуемая основная литература
- 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