О курсе

Курс предназначен для программистов, знакомых с основами разработки, и направлен на изучение языка Rust. В рамках программы рассматриваются базовые концепции Computer Science и их реализация на Rust: типы данных, переменные, функции, ветвления, циклы, кортежи, структуры, перечисления. Отдельное внимание уделяется системе владения, ссылкам и заимствованию, что обеспечивает безопасность работы с памятью.

Второй блок посвящён обобщённому программированию, статическому и динамическому полиморфизму, временам жизни, работе с коллекциями и итераторами, а также оценке сложности алгоритмов. Третий блок охватывает многопоточность: создание потоков, синхронизацию через Mutex и Atomic, умные указатели Box, Arc, Rc, а также асинхронное программирование с async/await.

Курс включает практические занятия, Q&A сессии и проектную работу, в ходе которой студенты получают обратную связь от преподавателей. Преподаватели — Сергей Потамошнев, ведущий разработчик с опытом создания высоконагруженных систем, и Артём Павлов, создатель проекта RustCrypto, занимающийся разработкой баз данных и криптографических средств.

Что рассматривается в программе

  • рассматривается работа с инструментарием Rust
  • разбираются типы данных, переменные, функции, ветвления и циклы
  • изучается система владения, ссылки и заимствование
  • рассматриваются структуры, перечисления и pattern matching
  • осваивается обобщённое программирование и полиморфизм
  • изучаются коллекции, итераторы и оценка сложности алгоритмов
  • рассматривается многопоточность и синхронизация
  • разбираются макросы и асинхронное программирование

Кому может быть полезен курс

  • тем, кто знаком с основами программирования и хочет освоить разработку на Rust
  • начинающим разработчикам на C и C++, желающим изучить язык с гарантиями безопасности памяти
  • разработчикам на высокоуровневых языках (Python, JS, Java, C#), стремящимся повысить производительность приложений

Вопросы о программе

Какие темы охватывает курс?

Курс охватывает синтаксис Rust, систему владения, типы данных, обобщённое программирование, полиморфизм, коллекции, многопоточность, макросы и асинхронное программирование.

Для кого предназначен курс?

Курс рассчитан на разработчиков с базовыми знаниями программирования, включая тех, кто работает с C/C++ или высокоуровневыми языками.

Кто преподаёт курс?

Преподаватели — Сергей Потамошнев, ведущий разработчик с опытом создания высоконагруженных систем, и Артём Павлов, создатель проекта RustCrypto.

Включает ли курс практические задания?

Да, в программе предусмотрены практические занятия, Q&A сессии и проектная работа с обратной связью от преподавателей.