Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try to clarify the names of lessons and modules. #207

Merged
merged 1 commit into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions training-slides/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Summary
# Front Matter

[Start Here](./start_here.md)
[Introduction](./introduction.md)

[Glossary](./glossary.md)

Expand Down Expand Up @@ -55,6 +55,9 @@ Topics that go beyond [Applied Rust](#applied-rust).
* [The stdlib](./std-lib-tour.md)
* [Using Cargo](./using-cargo.md)
* [Using Types to encode State](./type-state.md)

# Rust and Web Assembly

* [WASM](./wasm.md)

# No-Std Rust
Expand Down Expand Up @@ -96,7 +99,7 @@ Topics around [Ferrocene](https://ferrous-systems.com/ferrocene/), the qualified
* [What is Ferrocene](./ferrocene-what-it-is.md)
* [Installing and Using Ferrocene](./ferrocene-installing.md)

# Rust for Decision Makers
# Why Rust?

* [What is Rust?](./what-is-rust.md)
* [Safety, Performance, and Productivity](./safety-performance-productivity.md)
Expand Down
48 changes: 48 additions & 0 deletions training-slides/src/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
![Our cute logo!](images/logo_ferrous-systems_rgb.png)

# Introduction

This book contains our training material, divided up into individual slide decks. Each deck is a *lesson*. Those *lessons* combine to form a *module*, which is taught during a series of *sessions* within a *training*. See [the glossary](./glossary.md) for more details.

This is the book version of our material. You can also see the lessons in slide form at <https://rust-training.ferrous-systems.com/latest/slides>.

We have a standard grouping of *lessons* into *modules*, but this can be customised according to customer needs. The modules have dependencies - that is, pre-requisite knowledge required to get the most out of a particular module. The dependencies are shown in the following graphic.

Most of our modules are available now (shown in blue), but some are still in development and will be available in the future (shown in grey).

```mermaid
---
title: Ferrous Systems' Rust Training Modules
config:
theme: base
themeVariables:
primaryColor: "#cdf"
---
graph TD;
Fundamentals(Rust Fundamentals)-->Applied(Applied Rust);
Applied-->Advanced(Advanced Rust);
Applied-->NoStd(No-Std Rust);
NoStd-->Ferrocene(Using Ferrocene);
Applied-->BareMetal(Bare-Metal Rust);
Applied-->Async(Async Rust);
Applied-->Wasm(Rust and WebAssembly);
BareMetal-->Embassy(Using Embassy);
Async-->Embassy;
WhyRust(Why Rust?);
WhyFerrocene(Why Ferrocene?);

classDef grey fill:#eee,stroke:#ccc;
class Async,Embassy grey
```

* **Why Rust?**: A (stand-alone) half-day tour of Rust for decision-makers, technical leads and managers.
* **Why Ferrocene?**: A (stand-alone) 60 minute introduction to Ferrocene.
* **Rust Fundamentals**: Covers the basics - types, writing functions, using iterators.
* **Applied Rust**: Using Rust with Windows, macOS or Linux.
* **Advanced Rust**: Deep-dives into specific topics.
* **No-Std Rust**: Rust without the Standard Library.
* **Bare-Metal Rust**: Rust on a microcontroller.
* **Async Rust**: Futures, Polling, Tokio, and all that jazz.
* **Rust and WebAssembly**: Using Rust to build WASM binaries, run in a sandbox or in an HTML page
* **Ferrocene**: Working with our qualified toolchain.
* **Using Embassy**: Async-Rust on a microcontroller.
32 changes: 0 additions & 32 deletions training-slides/src/start_here.md

This file was deleted.

2 changes: 1 addition & 1 deletion training-slides/src/wasm.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## What?

WebAssembly(WASM) enables running Rust (among others) in a sandbox environment, including the browser.
WebAssembly (WASM) enables running Rust (among others) in a sandbox environment, including the browser.

WebAssembly is supported as a _compile target_.

Expand Down