Kursstruktur
Diese Seite ist für den Kursleiter.
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 (2 hours and 10 minutes, including breaks)
Segment | Duration |
---|---|
Willkommen | 5 minutes |
Hallo Welt! | 15 minutes |
Datentypen und Wertebereiche | 40 minutes |
Kontrollfluss | 45 minutes |
- Day 1 Afternoon (2 hours and 35 minutes, including breaks)
Segment | Duration |
---|---|
Tuples und Datenfelder | 35 minutes |
Referenzen | 55 minutes |
Benutzerdefinierte Datentypen | 50 minutes |
- Day 2 Morning (2 hours, including breaks)
Segment | Duration |
---|---|
Willkommen | 3 minutes |
Mustervergleich | 50 minutes |
Methoden und Merkmale | 50 minutes |
- Day 2 Afternoon (3 hours and 15 minutes, including breaks)
Segment | Duration |
---|---|
Generische Datentypen und Methoden | 45 minutes |
Standardbibliothek Datentypen | 1 hour |
Standardbibliothek Methoden | 1 hour and 10 minutes |
- Day 3 Morning (2 hours and 20 minutes, including breaks)
Segment | Duration |
---|---|
Willkommen | 3 minutes |
Speicherverwaltung | 1 hour |
Smart Pointers | 55 minutes |
- Day 3 Afternoon (1 hour and 55 minutes, including breaks)
Segment | Duration |
---|---|
Ausborgen | 55 minutes |
Lebensdauern | 50 minutes |
- Day 4 Morning (2 hours and 50 minutes, including breaks)
Segment | Duration |
---|---|
Willkommen | 3 minutes |
Iteratoren | 55 minutes |
Module | 45 minutes |
Tests | 45 minutes |
- Day 4 Afternoon (2 hours and 10 minutes, including breaks)
Segment | Duration |
---|---|
Fehlerbehandlung | 55 minutes |
Unsicheres Rust | 1 hour and 5 minutes |
Vertiefungen
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.
Du wirst eine lokale Arbeitskopie von AOSP benötigen. Mache eine Arbeitskopie des Kurses auf deinem Laptop und verschiebe das Verzeichnis src/android/
in das Stammverzeichnis Deiner AOSP Arbeitskopie. Dadurch wird sichergestellt, dass das Android-Buildsystem die Android.bp
-Dateien in src/android/
sehen kann.
Stelle sicher, dass adb sync
auf deinem Emulator oder Rechner funktioniert. Erstelle bereits vor dem Kurs alle Android-Beispiele mit src/android/build_all.sh
. Schaue auch in das Skript rein und probiere aus, ob alle Befehle, die es ausführt auch von Hand ausgeführt funktionieren.
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.
Für den Mikrocontroller-Teil solltest Du das BBC micro:bit v2-Entwicklungsboard im Voraus kaufen. Alle müssen eine Reihe von Paketen installieren, wie auf der Willkommens Seite beschrieben.
Concurrency in Rust
The Concurrency in Rust deep dive is a full day class on classical as well as async
/await
concurrency.
Du solltest eine neue Kiste (crate) einrichten und die Abhängigkeiten (dependencies) herunterladen und einsatzbereit machen. Anschließend kannst Du die Beispiele kopieren und in src/main.rs
einfügen, um damit zu experimentieren:
cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run
Course schedule:
- Morning (3 hours and 20 minutes, including breaks)
Segment | Duration |
---|---|
Abläufe | 30 minutes |
Kanäle | 20 minutes |
Send und Sync | 15 minutes |
Geteilter Zustand | 30 minutes |
Übungen | 1 hour and 10 minutes |
- Afternoon (3 hours and 20 minutes, including breaks)
Segment | Duration |
---|---|
Grundlagen asynchroner Programmabläufe | 30 minutes |
Kontrollfluss | 20 minutes |
Tücken | 55 minutes |
Übungen | 1 hour and 10 minutes |
Format
Der Kurs soll sehr interaktiv ablaufen und wir empfehlen, durch Fragen die Erkundung von Rust voranzutreiben!