Rust 101 is a short course on Rust programming presented as a series of social media posts on LinkedIn, Bluesky and X.
For more depth, Amy or one of our other trainers can present a three day course in Rust programming for your team. Courses are presented using live coding - no slides.
We can also run pro bono sessions for groups and meetups.
We can address:
- Network and async programming
- Embedded systems
- Blockchain programming in Rust
- Data science in Rust
- Compiler theory
- Game development in Rust
- Bioinformatics in Rust
And many other topics.
Amy runs the Oxford Rust meetup, which meets at the St. Aldates tavern in Oxford the first wednesday of every month.
Rust101 showcases training material from Amy's course. See https://github.com/andy-thomason/rust101 for more.
This short course is composed of the following sections
- Rust basics - integer types, floating point, usize, str & references.
- Structures - C-like, tuple structs, tuples and access via "."
- Heap and stack - how variables in Rust are created.
- String - The
String
growable container andBox<str>
- Vec - The
Vec
growable array andBox<[T]>
- Expressions 1 - everything's an expression and
{ expr }
- References - like pointers, but safer.
- Safety - avoiding dangling pointers.
- Printing - using the
println!()
macro. - Enums - how to store choices.
- Option - to be or not to be.
- Result 1 - the
Result
type vs exceptions. - Result 2 - using
enum
for errors. - Move semantics - no automatic copies for some types.
- Reference Rules - don't cross the streams!
- Lifetimes 1 - dangling pointers again.
- Lifetimes 2 - annotations and lifetime washing
- Lifetimes 3 - lifetimes in structs.
- Methods - methods for structs.
- Traits - traits for structs, enums and types.
- Conversion - the
From
trait. - Formatting - Writing formatters.
- Macros - user defined macros.
- Logging - Logging in servers.
- Modules - Organising your code.
- Testing - Writing and running tests.
- Match Statements - like
switch
but richer. - Patterns -
if let
and friends. - Derives - common derives.
- Serde - Convert to/from JSON and others.
- the
Future
trait - coroutines for faster task switch. - async Rust - A TCP echo server example.
Atomic increment have been training C++ and Rust for many years. If you have been on one of our courses, please get in touch.
We have had the joy of training
- AWS
- ZCash
- Sony
- Fastly
- Viasat
- Thales
- Seimens
- Kapsch TrafficCom AG
- Ferrous systems
- Noble Prog
and many more (add yourself here!)
(C) Amy Thomason 2025.