mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-04-25 08:53:01 +02:00
Merge pull request #120 from google/running-the-course
Add instructions about how to run the course
This commit is contained in:
commit
a8fb8ad2b6
@ -1,11 +1,13 @@
|
||||
# Summary
|
||||
|
||||
[Welcome to Comprehensive Rust 🦀](welcome.md)
|
||||
- [Running the Course](running-the-course.md)
|
||||
- [Course Structure](running-the-course/course-structure.md)
|
||||
- [Keyboard Shortcuts](running-the-course/keyboard-shortcuts.md)
|
||||
- [Using Cargo](cargo.md)
|
||||
- [Rust Ecosystem](cargo/rust-ecosystem.md)
|
||||
- [Code Samples](cargo/code-samples.md)
|
||||
- [Running Cargo Locally](cargo/running-locally.md)
|
||||
- [Course Structure](structure.md)
|
||||
|
||||
|
||||
# Day 1: Morning
|
||||
|
@ -16,8 +16,8 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
You can use <kbd>Ctrl-Enter</kbd> to execute the code when focus is in the text
|
||||
box.
|
||||
You can use <kbd>Ctrl + Enter</kbd> to execute the code when focus is in the
|
||||
text box.
|
||||
|
||||
<details>
|
||||
|
||||
|
58
src/running-the-course.md
Normal file
58
src/running-the-course.md
Normal file
@ -0,0 +1,58 @@
|
||||
# Running the Course
|
||||
|
||||
> This page is for the course instructor.
|
||||
|
||||
Here is a bit of background information about how we've been running the course
|
||||
internally at Google.
|
||||
|
||||
To run the course, you need to:
|
||||
|
||||
1. Make yourself familiar with the course material. We've included speaker notes
|
||||
on some of the pages to help highlight the key points (please help us by
|
||||
contributing more speaker notes!). You should make sure to open the speaker
|
||||
notes in a popup (click the link with a little arrow next to "Speaker
|
||||
Notes"). This way you have a clean screen to present to the class.
|
||||
|
||||
2. Decide on the dates. Since the course is large, we recommend that you
|
||||
schedule the four days over two weeks. Course participants have said that
|
||||
they find it helpful to have a gap in the course since it helps them process
|
||||
all the information we give them.
|
||||
|
||||
3. Find a room large enough for your in-person participants. We recommend a
|
||||
class size of 15-20 people. That's small enough that people are comfortable
|
||||
asking questions --- it's also small enough that one instructor will have
|
||||
time to answer the questions.
|
||||
|
||||
4. On the day of your course, show up to the room a little early to set things
|
||||
up. We recommend presenting directly using `mdbook serve` running on your
|
||||
laptop. This ensures optimal performance with no lag as you change pages.
|
||||
Using your laptop will also allow you to fix typos as you or the course
|
||||
participants spot them.
|
||||
|
||||
5. Let people solve the exercises by themselves or in small groups. Make sure to
|
||||
ask people if they're stuck or if there is anything you can help with. When
|
||||
you see that several people have the same problem, call it out to the class
|
||||
and offer a solution, e.g., by showing people where to find the relvant
|
||||
information in the standard library.
|
||||
|
||||
6. If you don't skip the Android specific parts on Day 4, 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.
|
||||
|
||||
That is all, good luck running the course! We hope it will be as much fun for
|
||||
you as it has been for us!
|
||||
|
||||
Please [provide feedback][3] afterwards so that we can keep improving the
|
||||
course. We would love to hear what worked well for you and what can be made
|
||||
better. Your students are also very welcome to [send us feedback][4]!
|
||||
|
||||
[1]: https://source.android.com/docs/setup/download/downloading
|
||||
[2]: https://github.com/google/comprehensive-rust
|
||||
[3]: https://github.com/google/comprehensive-rust/discussions/86
|
||||
[4]: https://github.com/google/comprehensive-rust/discussions/100
|
@ -1,7 +1,8 @@
|
||||
# Course Structure
|
||||
|
||||
The course is fast paced and we will cover a lot of ground over the next 3--4
|
||||
days:
|
||||
> This page is for the course instructor.
|
||||
|
||||
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.
|
||||
@ -14,9 +15,5 @@ days:
|
||||
|
||||
## Format
|
||||
|
||||
The course is interactive and your questions will drive our exploration of Rust!
|
||||
|
||||
* Please ask questions when you get them, don't save them to the end.
|
||||
* Discussions are very much encouraged!
|
||||
* We will likely talk about things ahead of the slides.
|
||||
* The slides are just a support and we are free to skip them as we like.
|
||||
The course is meant to be very interactive and we recommend letting the
|
||||
questions drive the exploration of Rust!
|
8
src/running-the-course/keyboard-shortcuts.md
Normal file
8
src/running-the-course/keyboard-shortcuts.md
Normal file
@ -0,0 +1,8 @@
|
||||
# Keyboard Shortcuts
|
||||
|
||||
There are several useful keyboard shortcuts in mdBook:
|
||||
|
||||
* <kbd>Arrow-Left</kdb>: Navigate to the previous page.
|
||||
* <kbd>Arrow-Right</kbd>: Navigate to the next page.
|
||||
* <kbd>Ctrl + Enter</kbd>: Execute the code sample that has focus.
|
||||
* <kbd>s</kbd>: Activate the search bar.
|
@ -13,6 +13,19 @@ today:
|
||||
|
||||
<details>
|
||||
|
||||
Please remind the students that:
|
||||
|
||||
* They should ask questions when they get them, don't save them to the end.
|
||||
* The class is meant to be interactive and discussions are very much encouraged!
|
||||
* As an instructor, you should try to keep the discussions relevant, i.e.,
|
||||
keep the related to how Rust does things vs some other language. It can be
|
||||
hard to find the right balance, but err on the side of allowing discussions
|
||||
since they engage people much more than one-way communication.
|
||||
* The questions will likely mean that we about things ahead of the slides.
|
||||
* This is perfectly okay! Repetition is an important part of leaning. Remember
|
||||
that the slides are just a support and you are free to skip them as you
|
||||
like.
|
||||
|
||||
The idea for the first day is to show _just enough_ of Rust to be able to speak
|
||||
about the famous borrow checker. The way Rust handles memory is a major feature
|
||||
and we should show students this right away.
|
||||
|
Loading…
x
Reference in New Issue
Block a user