1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-12-15 12:48:45 +02:00

Cleanup references to "Day 4" (#603)

* Align outline with new spin-off course structure

With the new structure, the section on Android is a spin-off course
from the main 3-day course on Rust Fundamentals. The Bare-metal and
Concurrency days are spin-off courses in the same way.

* Explain new course structure

* Align Bare-Metal welcome page with other deep dives

* Merge Day 4 page into Course Structure page

* Remove Day 4 Welcome page

This aligns the Concurrency in Rust section with the Bare-Metal Rust
deep dive.

* Show subsections for Android deep dive

This aligns the Rust in Android section with the other deep dives.

* Clean up welcome page and README

We now cover async Rust and the course is no longer a four day course.

* Remove reference to the old Day 4

* Remove Day 4 references from exercises
This commit is contained in:
Martin Geisler
2023-05-02 08:02:28 +02:00
committed by GitHub
parent c67922ce8c
commit 3b21053ff2
27 changed files with 164 additions and 154 deletions

View File

@@ -7,7 +7,56 @@ The course is fast paced and covers a lot of ground:
* Day 1: Basic Rust, ownership and the borrow checker.
* Day 2: Compound data types, pattern matching, the standard library.
* Day 3: Traits and generics, error handling, testing, unsafe Rust.
* Day 4: Concurrency in Rust and seeing Rust in action.
## Deep Dives
In addition to the 3-day class on Rust Fundamentals, we cover some more
specialized topics:
### Android
The [Android Deep Dive](../android.md) is a half-day course on using Rust for
Android platform development. This includes interoperability wtih C, C++, and
Java.
You will need an [AOSP checkout][1]. Make a checkout of the [course
repository][2] on the same machine and move the `src/android/` directory into
the root of your AOSP checkout. This will ensure that the Android build system
sees the `Android.bp` files in `src/android/`.
Ensure that `adb sync` works with your emulator or real device and pre-build all
Android examples using `src/android/build_all.sh`. Read the script to see the
commands it runs and make sure they work when you run them by hand.
[1]: https://source.android.com/docs/setup/download/downloading
[2]: https://github.com/google/comprehensive-rust
### Bare-Metal
The [Bare-Metal Deep Dive](../bare-metal.md): a full day class on using Rust for
bare-metal (embedded) development. Both microcontrollers and application
processors are covered.
For the microcontroller part, you will need to buy the [BBC
micro:bit](https://microbit.org/) v2 development board ahead of time. Everybody
will need to install a number of packages as described on the [welcome
page](../bare-metal.md).
### Concurrency
The [Concurrency Deep Dive](../concurrency.md) is a full day class on classical
as well as `async`/`await` concurrency.
You will need a fresh crate set up and the dependencies downloaded and ready to
go. You can then copy/paste the examples into `src/main.rs` to experiment with
them:
```shell
cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run
```
## Format

View File

@@ -1,40 +0,0 @@
# Day 4
> This page is for the course instructor.
The afternoon of the fourth day should cover a topic of your choice. Include
the topic in the announcement of the course, so that participants know what to
expect.
This phase of the course is a chance for participants to see Rust in action on a
codebase they might be familiar with. You can choose from the topics already
defined here, or plan your own.
Some topics need additional preparation:
## Android
If you chose Android for Day 4 afternoon, you will need an [AOSP checkout][1].
Make a checkout of the [course repository][2] on the same machine and move the
`src/android/` directory into the root of your AOSP checkout. This will ensure
that the Android build system sees the `Android.bp` files in `src/android/`.
Ensure that `adb sync` works with your emulator or real device and pre-build
all Android examples using `src/android/build_all.sh`. Read the script to see
the commands it runs and make sure they work when you run them by hand.
## Async
If you chose Async for Day 4 afternoon, you will need a fresh crate set up and
the dependencies downloaded and ready to go. You can then copy/paste the
examples into `src/main.rs` to experiment with them.
```shell
cargo init day4
cd day4
cargo add tokio --features full
cargo run
```
[1]: https://source.android.com/docs/setup/download/downloading
[2]: https://github.com/google/comprehensive-rust