Course Structure

このページは講師用です。

Rust Fundamentals

The first four days make up Rust Fundamentals. The days are fast paced and we cover a lot of ground!

Course schedule:

  • Day 1 Morning (3 hours, including breaks)
SegmentDuration
Welcome5 minutes
Hello, World20 minutes
Types and Values1 hour and 5 minutes
制御フロー1 hour
  • Day 1 Afternoon (2 hours and 55 minutes, including breaks)
SegmentDuration
Tuples and Arrays1 hour
References50 minutes
User-Defined Types50 minutes
  • Day 2 Morning (3 hours and 5 minutes, including breaks)
SegmentDuration
Welcome3 minutes
パターンマッチング50 minutes
ReadとWrite55 minutes
ジェネリクス(generics)45 minutes
  • Day 2 Afternoon (3 hours, including breaks)
SegmentDuration
標準ライブラリ1 hour and 10 minutes
標準ライブラリ1 hour and 40 minutes
  • Day 3 Morning (2 hours and 15 minutes, including breaks)
SegmentDuration
Welcome3 minutes
メモリ管理1 hour and 10 minutes
Smart Pointers45 minutes
  • Day 3 Afternoon (2 hours and 20 minutes, including breaks)
SegmentDuration
借用1 hour
ライフタイム1 hour and 10 minutes
  • Day 4 Morning (3 hours and 5 minutes, including breaks)
SegmentDuration
Welcome3 minutes
Iterators45 minutes
モジュール40 minutes
テスト1 hour and 5 minutes
  • Day 4 Afternoon (2 hours, including breaks)
SegmentDuration
エラー処理45 minutes
Unsafe Rust1 hour and 5 minutes

専門的なトピック

In addition to the 4-day class on Rust Fundamentals, we cover some more specialized topics:

Rust in Android

The Rust in Android deep dive is a half-day course on using Rust for Android platform development. This includes interoperability with C, C++, and Java.

AOSPのチェックアウトが必要です。同じ端末から講座のリポジトリをチェックアウトし、src/android/ディレクトリをAOSPチェックアウトのルートに移動してください。これにより、Androidビルドシステムがsrc/android/内のAndroid.bpを確認できるようになります。

エミュレータまたは実際のデバイスでadb syncが機能する事を確認し、src/android/build_all.shを使用して全てのAndroidの例を事前にビルドしてください。スクリプトを読んで実行コマンドを確認し、手動で実行した際に正常に動作する事を確認してください。

Rust in Chromium

The Rust in Chromium deep dive is a half-day course on using Rust as part of the Chromium browser. It includes using Rust in Chromium’s gn build system, bringing in third-party libraries (“crates”) and C++ interoperability.

You will need to be able to build Chromium — a debug, component build is recommended for speed but any build will work. Ensure that you can run the Chromium browser that you’ve built.

Bare-Metal Rust

The Bare-Metal Rust deep dive is a full day class on using Rust for bare-metal (embedded) development. Both microcontrollers and application processors are covered.

マイクロコントローラの章では、事前にBBCmicro:bitv2開発ボードを購入する必要があります。また、welcomeページで説明されているように、複数のパッケージをインストールする必要があります。

Concurrency in Rust

The Concurrency in Rust deep dive is a full day class on classical as well as async/await concurrency.

新規クレートの作成と、依存関係(dependencies)のダウンロードが必要です。その後、例をsrc/main.rsにコピペして実行する事ができます:

cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run

フォーマット

本講座はインタラクティブな形式で行います。積極的に質問して、Rustへの理解を深めてください!