Программирование на Rust весна 2025
Общие сведения
Курс рассчитан на людей с опытом разработки/большим желанием его получить. В нём мы пройдёмся от базового синтаксиса языка до уровня Middle-/Middle разработчика.
- Семестр: весенний семестр 2025
- Регистрация на курс
Ограничения по регистрации: максимум 20 человек
- Формы контроля: домашние задания
- План занятий и домашних работ
- Telegram-чат курса
Материалы занятий
Домашние задания
Планируется 11 домашних заданий.
Проверка: code review. Исправления по code review можно делать в течение 1 недели после 1-го комментария.
Название | Старт | Дедлайн |
---|---|---|
Дз 1 | 21.02.2025 | 21.03.2025 |
Дз 2 | 21.02.2025 | 27.03.2025 |
Дз 3 | 28.02.2025 | 03.04.2025 |
Дз 4 | 11.03.2025 | 06.04.2025 |
Дз 5 | 11.03.2025 | 14.04.2025 |
Дз 6 | 27.03.2025 | 14.04.2025 |
Дз 7 | 12.04.2025 | 06.05.2025 |
Дз 8 | 18.04.2025 | 18.05.2025 |
Дз 9 | 02.05.2025 | 13.06.2025 |
Дз 10 | 02.05.2025 | 13.06.2025 |
Дз 11 | 02.05.2025 | 13.06.2025 |
Штраф за опоздание по дедлайну: -25%
Преподаватели
- Лектор
- Денис Баринов @DBarinovv
Критерии получения оценки
- Итоговая аттестация: оценка складывается из: активности на лекциях + домашних заданий + итоговый созвон в конце курса
Домашние задания
- Домашние задания: домашние задания буду даватьcя на лекциях, они будут варьироваться по сложности в зависимости от понимания аудитории.
- Дедлайн к каждому дз 1-4 недели в зависимости от сложности
- Оценивание дз: оцениваться будут в рамках беседы + код ревью + доп вопросы по теме
Литература
«Rustbooks»
- The Rust Programming Language - Rustbook, the first book to be read by newbie.
- The Rust Reference - The Rust language reference. Something like explained docs.
- Learn Rust With Entirely Too Many Linked Lists - Just writing multiple linked lists. It may help to understand the basics of ownership.
- The Cargo Book - The Cargo package manager reference.
- Rust Cookbook - Explains how to solve simple, widespread programming tasks.
- Rust API Guidelines - Official set of recommendations on how to design and present APIs.
- The Little Book of Rust Macros - Starter book about Rust Macros.
- Rust Design Patterns - Good practices of Rust programming.
- The Rustonomicon - The book about Unsafe Rust. In addition, it covers some advanced safety topics such as an ownership.
- Rust's Unsafe Code Guidelines Reference (UCG WG)
- The Rust Performance Book - The book about optimizing Rust code.
- Asynchronous Programming in Rust - Introduction to asynchronous programming.
- Futures Explained in 200 Lines of Rust - Good book on futures and executors.
- Guide to Rustc Development - The guide to compiler development for enthusiasts.
- What is rustc? - Describes some advanced usages of the rustc compiler.
- The Embedded Rust Book - Programming for embedded systems in Rust.
Articles
- Improved portability and performance - How libimagequant library became more performant and portable (!) by rewriting C code to Rust.
- Rust Collections Case Study: BTreeMap - Great post about the implementation of BTree in Rust from its author.
- The Error Model - Article with a perfect, step-by-step explanation of error handling models, including Rust's one, and is good and how it solves mistakes of other generations of error handling.
- Finding Closure in Rust - Detailed post with "straightforward" explanation of closures design.
- How to organize your Rust tests - Answers the question "How to organize your Rust tests" :)
Writing idiomatic Rust code
- Writing Idiomatic Libraries in Rust - Good talk on writing idiomatic code.
Conference talks about Rust
- The History of Rust - Just a bit of History of Rust.
- How Rust Views Tradeoffs - Good talk about the aims of Rust language.
- RustConf 2021 - Move Constructors: Is it Possible? by Miguel Young de la Sota
- Rust's Journey to Async/Await - The talk about the high-level design of async in Rust.
- The Talk You've Been Await-ing for - Introduction to async in Rust.
- Rust Programming Techniques - Good practices of writing idiomatic code.
YouTube channels
- Previous year course - It is highly recommended for viewing if you missed something or did not understand
- Jon Gjengset YouTube channel - Excellent channel about Rust, especially "Crust of Rust" series, where several topics covered from intermediate to advanced level.
- Aleksey Kladov YouTube channel - If you're interested in how rust-analyzer works - it's the best channel and the best speaker.
Research papers
- GhostCell: Separating Permissions from Data in Rust - Tricky usage of Rust type system.
- Stacked Borrows: An Aliasing Model for Rust - On checking unsafe code.
Books
- "Rust for Rustaceans - Idiomatic Programming for Experienced Developers" by Jon Gjengset - Perfect book that covers a lot of details about the language in-depth.
- Zero To Production In Rust
Blogs
- Alastair Reid blog - You can find great posts about automatic verification tools in this blog.
- Aleksey Kladov blog - Some random things about Rust.
- Waffle blog - Some random things about Rust.
- Lloyd Chan blog - The author usually writes on advanced usages of the type system.