Специальная цена
Рассрочка
31 марта
Basic
5 месяцев
Онлайн
Вт/Чт 20:00 Мск
Для кого этот курс?
Для тех, кто знаком с основами программирования и хочет развиваться в разработке на Rust: разберётесь в синтаксисе Rust, получите ценный практический опыт
Для начинающих разработчиков на системных языках С и C++: познакомитесь с языком, который не уступает в производительности C и C++, а также гарантирует безопасность в работе с памятью
Для начинающих разработчиков на интерпретируемых или высокоуровневых языках (Python, JS, Java, C#): сможете увеличить производительность приложений
Rust используется в веб-разработке, в разработке системного ПО, мобильной разработке, разработке встраиваемых систем и даже в анализе данных. А ещё — в блокчейне и машинном обучении. На этом курсе вы изучите особенности работы с низкоуровневым ПО, подходы к разработке безопасного и отказоустойчивого ПО, а также основные библиотеки Rust.
Вы научитесь:пользоваться инструментарием Rust
чинить, собирать и запускать приложения
реализовывать функции
работать с циклами, ветвлениями, кортежами, структурами и перечислениями
писать программы в процедурном стиле с использованием ссылок
работать со слайсами, строками и массивами
писать программы в объектном стиле
переиспользовать код и обобщать поведение с помощью шаблонов и трейтов
писать приложения с полиморфизмом
писать безопасный сложный многопоточный код
создавать декларативные макросы
использовать асинхронные вызовы для работы с сетью и файловой системой
читать и писать сложные Rust-приложения
У нас нет предзаписанных уроков. Занятия в OTUS — это онлайн-вебинары. Преподаватели-практики помогут погрузиться в теорию, обучат на реальных примерах, расскажут о необходимых в работе инструментах. Вы всегда сможете задать вопрос и получить обратную связь.
И самое главное — сможете практиковаться.
Вебинары проводятся 2 раза в неделю по 2 ак. часа и сохраняются в записи в личном кабинете. Вы можете посмотреть их в любое удобное для вас время.
В ходе обучения вы будете выполнять домашние задания. Каждое из них посвящено одному из компонентов вашего выпускного проекта.
После выполнения всех домашних заданий вы получите готовый выпускной проект.
Занятия начинаются в 20:00, после окончания рабочего дня
Личный проект на Rust станет вашим конкурентным преимуществом
Получите знания, которые помогут повысить ваш доход
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности. Мы поможем с резюме, портфолио и сопроводительным письмом, подскажем, как лучше проходить собеседования.
2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда
Домашние задания с поддержкой и обратной связью наших преподавателей помогут освоить изучаемые технологии
Чат в Telegram для общения преподавателей и студентов
Познакомимся с языком. Узнаем, как устроен курс. Поговорим о разработке ПО в целом.
Тема 1: Знакомство с Rust. Подготовка к обучению
Тема 2: Основы архитектуры компьютера
Разберёмся с базовыми концепциями разработки ПО. Рассмотрим и попрактикуемся в реализации этих концепций с использованием Rust.
Тема 1: Типы данных. Переменные и функции
Тема 2: Сложные типы данных. Кортеж, структура, перечисление
Тема 3: Ветвление и циклы
Тема 4: Практика: Типы данных. Переменные и функции. Ветвление и циклы
Тема 5: Управление ресурсами. Клонирование. Трейт Copy. Принцип владения
Тема 6: Владение. Ссылки и заимствование
Тема 7: Практика: Владение и заимствование
Тема 8: Коллекции. Слайсы, массивы, строки
Тема 9: Q&A сессия
Тема 10: Структуры и методы. Инкапсуляция
Тема 11: Перечисления и pattern matching
Тема 12: Практика: Структуры и методы. Перечисления и pattern matching
Тема 13: Введение в систему типов. Типы стандартной библиотеки: Result, Option, ()
Тема 14: Введение в лямбда-функции
Тема 15: Обрабока ошибок. Оператор ?. Обработчики Result, Option
Тема 16: Практика: работа с Result, Option
Познакомимся с утилитарными элементами стандартной библиотеки. Научимся работать со стандартными коллекциями и оценивать сложность алгоритмов. Научимся писать сложный полиморфный код и рассуждать о типах.
Тема 1: Обобщённое программирование. Статический полиморфизм
Тема 2: Q&A сессия
Тема 3: Времена жизни
Тема 4: Обобщённое программирование. Наследование
Тема 5: Обобщенное программирование. Динамический полиморфизм. dyn Trait. dyn Any
Тема 6: Практика: Обобщённое программирование
Тема 7: Коллекции. Big O нотация. Хэш-мэп и вектор
Тема 8: Коллекции. Итераторы.
Тема 9: Практика: коллекции и итераторы
Тема 10: Функции. Типы функций. Лямбда-функции
Тема 11: Q&A сессия
Изучим концепцию многопоточности и увидим, как Rust упрощает написание многопоточных приложений.
Тема 1: Работа с кучей. Box, Arc, Rc. RAII
Тема 2: Потоки. Создание потоков. Send + Sync
Тема 3: Лямбды и потоки. Send + Sync. Использование move и Arc
Тема 4: Mutex, Atomic
Тема 5: Практика: потоки, куча, mutex, atomic
Тема 6: Interior mutability
Тема 7: Q&A сессия
Тема 8: Сборка. Модули
Тема 9: Продвинутые элементы синтаксиса
Тема 10: Макросы: декларативные и процедурные
Тема 11: Асинхронность. Понятие Event Loop, проблема 10k соединений. Использование async/await
Тема 12: Пример: разбор приложения на Rust
Тема 13: Q&A сессия
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Выбор темы и организация проектной работы
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Каждый курс завершается финальным проектом, который предстоит защитить перед преподавателями и командой. Вам будет, что рассказать на собеседовании!
Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.
Ваша разработка дополнит портфолио, станет конкурентным преимуществом на собеседовании, поможет использовать полученные знания на практике
Ведущий разработчик 10+ лет опыта промышленной разработки, в том числе создания веб-приложений, инфраструктурных решений, высоконагруженных систем, баз данных и аналитических систем. Работал в группе компаний Газпром и Сургутнефтегаз. Занимался созданием больших хранилищ данных, разработкой и полным циклом внедрения BI систем. Образование: СурГу, инженер - программист, факультет информационных технологий.
Опытный Rust программист. Являюсь создателем и одним из главных мейнтейнеров проекта RustCrypto. Занимался разработкой программного обеспечения для беспилотного автотранспорта. На данный момент занимаюсь разработкой баз данных и средств криптографических зашиты информации Образование: степень бакалавра и магистра в Московском Физико-Техническом Институте, закончил аспирантуру в Сколковском Институте Науки и Технологий
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса и удостоверение о повышении квалификации.
Стоимость в рассрочку со скидкой