You've already forked comprehensive-rust
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user