Skip to content

Commit

Permalink
Merge pull request #207 from ferrous-systems/clarify-training-offerings
Browse files Browse the repository at this point in the history
Try to clarify the names of lessons and modules.
  • Loading branch information
skade authored Sep 30, 2024
2 parents 9866202 + b88d5d1 commit 2d9b616
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 36 deletions.
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

0 comments on commit 2d9b616

Please sign in to comment.