ТОП-12 курсов программирования Rust: обучение онлайн. Платные и бесплатные

Курс «Rust Developer» от OTUS

https://otus.ru/lessons/rust-developer/

Rust_Otus

Цена: 82 000 руб

Формат обучения: онлайн занятия с преподавателем, записи лекций

Длительность: 5 месяцев, 4 ак. часа в неделю

Домашние задания: есть, проверяются преподавателями

Связь с преподавателем: есть

Документ об окончании: сертификат

Кому подойдет курс: люди, имеющие базовые знания какого-то языка программирования, например, C/C++, Python, JS, Java, C#

Доступ к материалам курса: навсегда

Помощь с трудоустройством: нет

Это углублённый курс по языку Rust, где мы разберем: ключевые возможности языка Rust, знание которых позволяет не только разрабатывать сложные программные продукты на этом языке, но и помогает лучше проектировать приложения в целом.

Курс может быть интересен разработчикам, которые хотят:

  • научиться избегать проблем по работе с многопоточностью и памятью
  • изучить сильные и слабые стороны Rust
  • изучить, как делать критические по производительности секции вашего приложения максимально быстрыми
  • научиться проектировать высокопроизводительные приложения
  • научиться разрабатывать системное программное обеспечение, безопасные и отказоустойчивые приложения

Какие навыки вы получите:

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

Что входит в программу курса:

  • Модуль 1. Введение в Rust.

В рамкам модуля вы изучите основные концепции Rust, освоите систему сборки, выберете среду разработки. Также вы познакомитесь с базовым синтаксисом языка, понятиями владения и заимствования, макросами, обобщенным программированием

  • Модуль 2. Модули, крейты и тесты

Вы изучите пакеты и крейты, разбиение проекта на файлы, использование тестов

  • Модуль 3. Стандартная библиотека

Здесь вы познакомитесь с умными указателями и коллекциями, основными перечислениями и типажами, освоите работу с сетью и файлами, ввод и вывод, начнете писать клиент-серверное приложение

  • Модуль 4. Многопоточность

Вы изучите, как контролировать корректность многопоточного приложения на стадии компиляции, межпроцессное взаимодействие и синхронизацию, типы многозадачности, асинхронность, узнаете проблемы многопоточного кода и как запускать параллельный поток

  • Модуль 5. Архитектура

Вы познакомитесь с принципами ООП и функционального программирования, узнаете, как обрабатывать ошибки, изучите, что такое инварианты и паттерны

  • Модуль 6. Фреймворки и библиотеки

Изучите популярные библиотеки, логирование, отладку и профилирование, как Rust используется для Backend, для GemeDev, для Frontend. Также вы узнаете, как организовать взаимодействие с другими языками

  • Модуль 7. Проектная работа

Вы выберете тему итогового проекта и начнете над ним работать

В процессе работы над итоговым проектом вам предстоит:

  • Сформулировать идею программы или библиотеки
  • Разработать архитектуру приложения
  • Написать код, демонстрирующий жизнеспособность выбранного дизайна
  • Реализовать функционал, с документированием интерфейсов и тестами бизнес-логики
  • Создать примеры использования кода и документацию
  • Опубликовать результаты на Crates.io и на GitHub

Темы, которые можно выбрать (+можно придумать свою тему):

— Веб-бэкенд

— Обработка данных в режиме реального времени

— Обработка изображений

— Хранение данных и кэши

Особенности курса:

  • Занятия проходят в группах
  • Наличие чата в Slack для общения с одногруппниками и преподавателем
  • Итоговый проект в портфолио
  • Курс ведет преподаватель с опытом, Lead Rust Developer
  • Курс на русском языке, хорошие отзывы о курсе

Курс «The Rust Programming Language» от Udemy

https://www.udemy.com/course/rust-lang/

Rust_udemy_1

Цена: 3090 руб

Формат обучения: видеозаписи лекций

Длительность: 8.5 часов видео, 61 лекция

Домашние задания: нет

Связь с преподавателем: есть

Документ об окончании: сертификат

Кому подойдет курс: новички

Доступ к материалам курса: навсегда

Помощь с трудоустройством: нет

Если вы хорошо владеете английским языком, вас может заинтересовать этот курс от Udemy.

Какие навыки вы получите:

  • Решение задач с помощью Rust
  • Создание библиотек и приложений на Rust
  • Эффективное использование гарантий безопасности памяти Rust
  • Понимание сильных и слабых сторон Rust
  • Документирование и тестирование кода

Что входит в программу курса:

12 разделов, 61 лекция

  • Введение
  • Типы данных и переменные
  • Поток управления
  • Структуры данных
  • Стандартные коллекции
  • Строки и символы
  • Функции
  • Трейты
  • Время жизни и память
  • Дополнительные темы
  • Параллелизм
  • Завершение

Гарантия возврата денег 30 дней

Курс «Rust Programming Language: The Complete Reference» от Udemy

https://www.udemy.com/course/rust-programming-language-the-complete-reference/

Rust_udemy_3

Цена: 1590 руб

Формат обучения: видеозаписи лекций

Длительность: 36 часов видео, 41 лекция

Домашние задания: нет

Связь с преподавателем: есть

Документ об окончании: сертификат

Кому подойдет курс: новички

Доступ к материалам курса: навсегда

Помощь с трудоустройством: нет

Если вы хорошо владеете английским языком, вас может заинтересовать этот курс от Udemy.

Что входит в программу курса:

  • Переменные и их изменчивость
  • Типы данных с плавающей точкой
  • Понятие о макросах. Использование println!()
  • Базовые типы данных, тип char, преобразования типов
  • Соглашения об именовании констант
  • Строковые объекты и литералы
  • Конкатенация строк с помощью +
  • Условные операторы
  • Конструкция match
  • Управление циклом
  • Определение и вызов функций
  • Определение и использование массивов
  • Понятие владения в Rust
  • Выделение памяти и владение. Использование стека и кучи
  • Ссылки и заимствование
  • Понятие слайса
  • Что такое строковые слайсы
  • Структуры
  • Синтаксис структур. Объявление экземпляра структуры
  • Перечисления
  • Управление потоком в помощью if let. Использование модулей
  • Определение модуля. Использование ключевого слова use
  • Коллекции. Самые востребованные – HashMap, Vector, HashSet
  • Коллекция HashMap
  • Обработка ошибок. Устранимые и неустранимые ошибки
  • Пояснение об устранимых ошибках
  • Дженерики. Дженерик структуры, трейты
  • Чтение ввода с консоли с помощью stdin()
  • Пакетный менеджер Cargo
  • Замыкания, анонимные функции
  • Умные указатели
  • Использование трейта Deref<T>
  • Использование трейта Drop, умные указатели
  • Использование RefCell<T>
  • Параллелизм в Rust
  • Потоки. Создание потоков с помощью spawn()
  • Решение проблемы гонки данных с помощью mutex и arc
  • Трейты. Использование оператора +, предложения where
  • Понятие времени жизни в Rust. Время жизни – это область, где ссылка действительна

Курс «Программирование на Rust» от НИУ ВШЭ

https://www.hse.ru/edu/courses/405005195

Rust_ВШЭ

Цена: нет информации

Формат обучения: онлайн занятия с преподавателем

Длительность: 4 ак. часа в неделю

Домашние задания: есть, проверяются преподавателями

Связь с преподавателем: есть

Документ об окончании: нет

Кому подойдет курс: новички

Доступ к материалам курса: не указано

Помощь с трудоустройством: нет

В этом курсе вы изучите основы Rust, современного, интересного языка программирования, обладающего как безопасностью некоторых управляемых языков, так и мощью нативного кода. Вы познакомитесь с возможностями языка, широко используемыми на практике.

Что входит в программу:

  • Установка и настройка Rust. Знакомство с менеджером пакетов Cargo; использование  среды разработки IntelliJ IDEA
  • Базовые типы данных. Понятия: числа на компьютере; объявление и использование констант; стек и куча; scope и shadowing; операторы
  • Конструкции if, match, for, while
  • Структуры, перечисления, оption <T>, срезы, векторы, массивы, HashMap
  • Понятия: функции и аргументы функций; функции высшего порядка; методы; замыкания
  • Понятия: статическая рассылкa; динамическая отправка; перегрузка оператора; векторы разных объектов; Traits; Into; Drop
  • Понятия: право собственности; продолжительность жизни; время жизни в реализации структуры; заимствование. Переменные с атомной привязкой. Использование Mutex для поточно-ориентированной изменчивости
  • Понятие циркулярных ссылок

Курс «Rust: Building Reusable Code with Rust from Scratch» от Udemy

https://www.udemy.com/course/rust-building-reusable-code-with-rust-from-scratch/

Rust_udemy_2

Цена: 8 990 руб

Формат обучения: видеозаписи лекций

Длительность: 6.5 часов видео, 68 лекций

Домашние задания: нет

Связь с преподавателем: нет

Документ об окончании: сертификат

Кому подойдет курс: людям, имеющим базовые знания какого-то языка программирования

Доступ к материалам курса: навсегда

Помощь с трудоустройством: нет

Если вы хорошо владеете английским языком, вас может заинтересовать этот курс от Udemy.

Что входит в программу курса:

2 раздела, 68 лекций

Изучение языка Rust

  • Байндинги и мутабилити
  • Встроенные типы данных
  • Импорты и пространства имен
  • Стандартная библиотека
  • Установка Rust с помощью Rustup
  • Создание проектов с помощью Cargo
  • Исследование экосистемы крейтов
  • Rustdoc и система документации
  • Добавление зависимостей с помощью Cargo
  • Владение, заимствование и RAII
  • Общий и эксклюзивный доступ
  • Строки, векторы, слайсы
  • Структуры
  • Перечисления
  • Выражения match
  • Введение в трейты
  • Написание собственных трейтов
  • Функции дженерики
  • Дженерик типы
  • Замыкания
  • Итераторы
  • Map, Filter и Fold
  • Создание приложения поиска центра тяжести
  • Распараллеливание приложения поиска центра тяжести
  • Разбиение кода с помощью модулей
  • Обработка ошибок
  • Дизайн API
  • Юнит тестирование
  • Интеграционные тесты
  • Документация
  • Тест ваших знаний

Создание повторно используемого кода на Rust

  • Настройка среды разработки Rust
  • Повторное использование кода в Rust
  • Циклы и итераторы
  • Использование функциональных циклов
  • Функции в Rust
  • Дженерики
  • Использование дженерик функций для повторного использования алгоритмов
  • Повторное использование структур в перечислениях
  • Работа с дженериками в struct методах
  • Дженерики в стандартной библиотеке
  • Трейты
  • Использование трейт баундов и трейт объектов
  • Ассоциативные типа vs дженерики трейт наследование
  • Исследование трейтов, дженериков и производительности
  • Трейты в стандартной библиотеке
  • Метапрограммирование в Rust
  • Использование декларативных макросов для сокращения кода
  • Использование процедурных макросов
  • Макросы в стандартной библиотеке
  • Введение в крейты
  • Использование модулей для задания структуры крейтов
  • Использование крейта с Cargo.toml
  • Публикация в crates.io
  • Тест ваших знаний

Курс «Rustlings» на Github

https://github.com/rust-lang/rustlings

Rust_rustlings

Цена: бесплатно

Формат обучения: упражнения

Связь с преподавателем: нет

Кому подойдет курс: новички

Адаптированный курс Rustlings

В этом курса вы сможете ознакомиться со всеми главными возможностями языка Rust: базовым синтаксисом, макросами, потоками, стандартной библиотекой,  автоматизированными тестами, установке и настроите инструменты Rust и т. д.

С помощью IDE на базе IntelliJ вы сможете воспользоваться возможностями для работы с Rust — это умный редактор, рефакторинги, вызов документации, автодополнение кода и многое другое.

Особенности курса:

Вы можете установить плагин для Rust от JetBrains https://www.jetbrains.com/ru-ru/edu-products/learning/rust/, загрузить курс в среду разработки и обучаться

Курс «[rust] язык программирования» от Академия IT

https://academiait.ru/course/rust-yazyk-programmirovaniya/

Rust_академияit

Цена: бесплатно

Формат обучения: видеозаписи лекций

Длительность: 6 уроков

Связь с преподавателем: нет

Доступ к материалам курса: навсегда

Кому подойдет курс: новички

Что входит в программу:

  • Введение. Установка Rust, создание первой программы
  • Использование переменных
  • Базовые типы данных
  • Написание функций
  • Циклы и условные выражения
  • Считывание логов в реальном времени и запись информации в influxDB

Курс «Руководство по языку программирования Rust» от metanit

https://metanit.com/rust/tutorial/

Rust_metanit

Цена: бесплатно

Формат обучения: статьи

Связь с преподавателем: нет

Кому подойдет курс: новички

Что входит в программу курса:

  • Введение в язык Rust

В рамках темы вы изучите: обзор языка Rust, установка Rust, создание первой программы

  • Основы Rust

В рамках темы вы изучите: типы данных, переменные, операции, условные выражения, конструкцию match, циклы, функции, константы, анонимные функции, замыкания

  • Составные типы данных

В рамках темы вы изучите: структуры, кортежи, массивы, структуры-кортежи, перечисления, паттерны и конструкция match, паттерны и конструкция if let, последовательность Range

  • Ссылки и Ownership

В рамках темы вы изучите: устройство памяти в Rust, стек и кучу, контекст/область видимости, владение, ссылки, слайсы

  • Объектно-ориентированное программирование

В рамках темы вы изучите: ассоциированные функции, методы, трейты, обобщенные функции и методы, обобщенные типы, trait bound

  • Время жизни ссылки

В рамках темы вы изучите: аннотации и время жизни ссылки, статическое время жизни

  • Коллекции

В рамках темы вы изучите: HashMap, вектор, string

  • Модули

В рамках темы вы изучите: определение и подключение модулей, оператор use, определение модуля во внешнем файле

  • Обработка ошибок

В рамках темы вы изучите: макрос panic!, оператор ?, тип Result, обработка нескольких типов ошибок, методы unwrap и expect

  • Cargo

В рамках темы вы изучите: загрузку и использование внешних зависимостей, создание проекта с помощью Cargo

  • Ввод и вывод

В рамках темы вы изучите, как происходит ввод с клавиатуры

  • Unsafe-контекст

В рамках темы вы изучите работу с указателями

Курс «Learning Rust» от Dumindu Madunuwan

https://learning-rust.github.io/

Rust_dumindu

Цена: бесплатно

Формат обучения: статьи

Связь с преподавателем: нет

Кому подойдет курс: новички

Что входит в программу:

  • Основы

Установка Rust, программа «Hello World», пакетный менеджер Cargo, крейты, байндинги переменных, функции, базовые типы данных, операторы и поток управления

  • Выходим за пределы основ

Векторы, struct, перечисления, дженерики, имплы и трейты

Жесткая часть

  • Жесткая часть

Владение, заимствование, время жизни

  • Начинаем

Модули, крейты, воркспейсы, стандартные модули и preludes

  • Обработка ошибок

Умный компилятор, паника, option и result, unwrap и expect, error и none propagation, combinators and custom error types

Курс «Программирование на Rust» от Computer Science Center

https://compscicenter.ru/videos/rust/

Rust_cscenter

Цена: бесплатно

Формат обучения: видеозаписи лекций

Связь с преподавателем: нет

Кому подойдет курс: люди, имеющие базовые знания какого-то языка программирования

Для прохождения курса необходим опыт программирования на любом другом языке, например, C++, Python, C#. Особенно хорошо иметь опыт работы на C++.

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

Что входит в программу курса:

  • Введение

Здесь вы узнаете, зачем нужны языки программирования без сборщика мусора

  • Время жизни, ADT

Поговорим о времени жизни и ссылках в Rust

  • Трейты

Узнаем, что такое трейты

  • Модули

Поговорим, зачем нужны модули, обсудим библиотеки и модель компиляции

  • Функции и итераторы

Узнаем, как создавать функции и использовать итераторы

  • Управление ошибками

Рассмотрим, как бывают стратегии обработки ошибок в Rust

  • Объекты, строки

Изучим использование строковых типов данных, impl trait, dyn trait, итераторы

  • Время жизни II

Углубляем знания о времени жизни ссылок

  • Умные указатели, static

Изучим использование умных указателей и static

  • Многопоточность

Изучим, как создавать потоки в Rust

  • Unsafe

Посмотрим, как выполнять небезопасный код

  • Коллекции

Изучим выделение памяти, Vec, HashMap, HashSet, BTreeMap

  • Макросы

Познакомимся со встроенными макросами, условной компиляцией и процедурными макросами

Курс «Rust для начинающих» на GitHub

https://github.com/rustkas/simple-about-rust

Rust_simpleabout

Цена: бесплатно

Формат обучения: статьи

Связь с преподавателем: нет

Кому подойдет курс: новички

Что входит в программу:

  • Привет, Rust!

Первая программа на Rust, шаблон println!, комментарии в коде

  • Арифметические вычисления

Операции над целыми и дробными числами

  • Переменные

Объявление переменных, изменяемые переменные, скрытие переменной

  • Логический тип данных

Использование логических операторов

  • Выражение if

Выражение if else, условная инициализация переменной, циклы while, for

  • Хранилища однотипных данных

Использование массивов, векторов

  • Использование простых типов данных в Rust

Использование целых чисел, явное приведение типа, пустой кортеж, описание типов данных массивов и векторов

  • Перечисления

Использование перечислений, конструкция match

  • Кортежи и структуры

Знакомство с кортежами и структурами

  • Функция

Объявление и вызов функций, переопределение функций, использование аргументов функции, возвращение значения функцией

  • Обобщенные структуры и функции

Использование обобщенных данных при определении структур, структур-кортежей, кортежей

  • Использование различных мест хранения переменных

Статическая память, стековая память, куча

  • Реализация типов данных в Rust

Использование use, реализация Vec

  • Анонимные функции

Примеры использования анонимной функции

  • Строка

Статические строки — литералы &str, динамические строки — String

  • Диапазон

Ещё один тип данных стандартной библиотеки Rust — диапазоны (ranges)

  • Срез

Понятие среза

  • Итератор

Понятие итератора, использование цикла for при работе с итераторами

  • Типаж

Понятие типажа, реализация типажей

Курс «Уроки по языку программирования Rust» от Николай Калугин

https://www.youtube.com/playlist?list=PLQQFvHDqx-V8Qjj-oyga0tYSCKzq5DJQE

Rust_youtube

Цена: бесплатно

Формат обучения: видеозаписи лекций

Связь с преподавателем: нет

Кому подойдет курс: новички

Что входит в программу:

  • Введение

Почему стоит начать использовать язык  Rust. Преимущества языка Rust

  • Установка и компиляция

Установка Rust и создание первой программы «Hello World»

  • Менеджер пакетов Cargo

Знакомство с менеджером пакетов Cargo, создание проектов с его помощью и их компиляция

  • Редактор исходного кода VS Code

В VSCode от Microsoft доступно расширение для языка Rust, которое позволяет комфортно работать с этим языком

  • Переменные

Объявление переменных, изменяемые и неизменяемые переменные

  • Типы данных

Знакомство со стандартными типами данных

  • Функции

Объявление функций в Rust, функция main

  • Конструкции управления

Условные конструкции, циклы while, for

  • Владение

Знакомство с понятием владения, с помощью которого осуществляется безопасная работа с памятью

  • Ссылочные переменные

Ссылочные переменные позволяют вам передать в функцию значение переменной, без передачи владения над ним

  • Срезы

Знакомство с понятием среза

  • Структуры

Знакомство со структурами. Сравнение кортежей и структур

  • Перечисления

Перечисления — это тип данных, позволяющий создавать конечный набор константных значений. Знакомство с option

  • Операторы Match и If let

Конструкции match, if let

  • Модули Mod

Понятие модулей, организация исходного кода в виде модулей

  • Управление доступом

Управление видимостью модуля и видимостью его элементов в Rust

  • Импорт имён с Use

Использование модуля в тексте программы с помощью use

  • Векторы

Знакомство с коллекциями стандартной библиотеки, вектор

  • Строки

Использование строк в Rust. Тип данных String

  • Hash Maps

В HashMap сохраняются ключи типа K и значения типа V

  • Обработка ошибок ч.1

Средства обработки ошибок, тип Result и макрос panic!

  • Обработка ошибок ч.2

Методы оценки проблем: как следует поступить, если произошла ошибка — обработать исключительную ситуацию или остановить выполнение программы

  • Шаблонные типы данных (Generics)

Знакомство с эффективным средством борьбы с дублированием кода — дженериками

  • Типажи

Определение и использование типажей

  • Время жизни ссылок

Понимание времени жизни ссылки, явное указание времени жизни

  • Тестирование ч.1

Использование тестов в Rust

  • Тестирование ч.2

Параметры, на которые можно влиять при запуске тестов, и два вида тестов: юнит тесты и интеграционные тесты

  • Аргументы командной строки

Использование аргументов командной строки в консольном приложении

  • Чтение файлов

Чтение файлов в программе Rust. Это возможно благодаря функции read_to_string из стандартной библиотеки std::fs::File

  • Рефакторинг

Хорошей практикой является рефакторинг, то есть улучшение кода программы. Методы рефакторинга

  • Разработка через тестирование (TDD)

TDD – это написание тестов перед написанием кода, оно даёт возможность реализовать высокую степень покрытия тестами будущего функционала

Возможно, вам будет интересно

Возможно, вас заинтересует новый увлекательный способ изучения языков программирования. Это игры, в которых нужно выполнять задания с использованием различных языков программирования. Code Wars поможет вам улучшить ваши навыки написания кода, соревнуясь с другими программистами. Игра предлагает большой выбор языков, включая Rust, Swift, PHP, Python, JavaScript, Ruby и Haskell. Сначала вам нужно будет пройти базовый тест на понимание языка, на котором вы хотите практиковаться. Ознакомиться с игрой можно по ссылке на сайт. CodinGame предлагает бесплатные игры, которые помогут вам в освоении более 25 разных языков программирования, включая Rust, C#, Java, Ruby, Python, JavaScript  и PHP. Вы можете выполнять практические игровые задания для проверки навыков или изучать примеры, объясняющие различные конструкции языка. Ознакомиться с игрой можно по ссылке на сайт.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка вверх