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)
SegmentDuration
Willkommen5 minutes
Hallo Welt!15 minutes
Datentypen und Wertebereiche40 minutes
Kontrollfluss45 minutes
  • Day 1 Afternoon (2 hours and 35 minutes, including breaks)
SegmentDuration
Tuples und Datenfelder35 minutes
Referenzen55 minutes
Benutzerdefinierte Datentypen50 minutes
  • Day 2 Morning (2 hours, including breaks)
SegmentDuration
Willkommen3 minutes
Mustervergleich50 minutes
Methoden und Merkmale50 minutes
  • Day 2 Afternoon (3 hours and 15 minutes, including breaks)
SegmentDuration
Generische Datentypen und Methoden45 minutes
Standardbibliothek Datentypen1 hour
Standardbibliothek Methoden1 hour and 10 minutes
  • Day 3 Morning (2 hours and 20 minutes, including breaks)
SegmentDuration
Willkommen3 minutes
Speicherverwaltung1 hour
Smart Pointers55 minutes
  • Day 3 Afternoon (1 hour and 55 minutes, including breaks)
SegmentDuration
Ausborgen55 minutes
Lebensdauern50 minutes
  • Day 4 Morning (2 hours and 50 minutes, including breaks)
SegmentDuration
Willkommen3 minutes
Iteratoren55 minutes
Module45 minutes
Tests45 minutes
  • Day 4 Afternoon (2 hours and 10 minutes, including breaks)
SegmentDuration
Fehlerbehandlung55 minutes
Unsicheres Rust1 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)
SegmentDuration
Abläufe30 minutes
Kanäle20 minutes
Send und Sync15 minutes
Geteilter Zustand30 minutes
Übungen1 hour and 10 minutes
  • Afternoon (3 hours and 20 minutes, including breaks)
SegmentDuration
Grundlagen asynchroner Programmabläufe30 minutes
Kontrollfluss20 minutes
Tücken55 minutes
Übungen1 hour and 10 minutes

Format

Der Kurs soll sehr interaktiv ablaufen und wir empfehlen, durch Fragen die Erkundung von Rust voranzutreiben!