Evening lectures on Rust in Ghent Nov - Dec 2025 for experienced developers. Registration is possible on pretix.eu.
The day after each session I will send an e-mail with the chapters we covered and what you can do to prepare for the next session.
Please spend at least 60 min. a week at home reading the chapters mentioned in the e-mail in the freely available official Rust book or making exercises.
For the in-person sessions:
- Take a laptop to solve exercises during the session.
- Do not spend time cloning, pulling or installing during the session.
- Download the PDF of the slides which contain links to the playground. Click the links during the session if needed.
- Turn of your AI editor extensions (you can do it for Rust only).
Covered in class:
- Welcome: 5 min
- Hello, world: 15 min
- Types and values: 40 min
- Control flow basics: 45 min
- Tuples and arrays: 35 min
- References: 55 min (partially)
Not covered in session 1:
- User-defined types: 60 min
- Pattern matching: 50 min
Homework:
- User defined types
- Pattern matching (if needed)
Covered in class:
- Methods and traits: 45 min
- Generics: 50 min
- Closures: 30 min (see homework)
- Standard library types: 15 min (partially)
Not covered in session 2 (see homework):
- Standard library types: 15 min (partially)
- Standard library traits: 60 min
Homework:
- Review closures:
- Standard library types
- Standard library traits
- Read the chapter about ownership to prepare for session 3:
Planned for in-session:
- Mid-series exercise session (see subfolder
examples): 60 min.- Replace
todo!macro calls by real code - Use
cargo run --exampleto test your solutions
- Replace
- Standard library traits: 15 min. (depending on students)
- Memory Management: 30 min
Homework:
- Review the chapter about ownership:
- Borrowing: 45 min
- Prepare lifetimes for next session: 65 min
Planned for in-session:
- Smart-pointers recap: 15 min. exercises
- Lifetimes: 60 min theory and exercises
- Iterators: 45 min theory
Homework:
- Lifetimes:
- Read https://doc.rust-lang.org/book/ch04-02-references-and-borrowing.html
- Read https://doc.rust-lang.org/book/ch10-03-lifetime-syntax.html
- Exercise session-4/tests/protobuf-parsing.rs
- Exercises Rustlings, ch. 16 lifetimes
- Iterators:
- Exercise session-4/tests/iterator-method-chaining.rs
- https://doc.rust-lang.org/book/ch13-00-functional-features.html
- Exercise Rustlings, ch. 18 iterators
- Extra exercise: make your own iterator and adapter
- Modules: 45 min
- Read https://doc.rust-lang.org/book/ch07-00-managing-growing-projects-with-packages-crates-and-modules.html
- Read https://doc.rust-lang.org/book/appendix-04-useful-development-tools.html
- Exercise: Rustlings, ch. 10 modules
- Testing: 45 min
- Read https://doc.rust-lang.org/book/ch11-00-testing.html
- Exercise: Rustlings, ch. 17 tests
Planned for in-session:
- Review testing and modules: 30 min
- session-5/tests/luhn.rs
- Error handling: 55 min
- Rustlings, chapter 13: Error handling
- session-5/tests/result.rs
- Unsafe rust: 20 min
Homework:
- Review error handling:
- Unsafe Rust: 30 min
Planned for in-session:
- Threads: 30 min
- Channels: 20 min
- Send and Sync: 15 min
- Shared state: 30 min
Homework:
- Project work (find a partner)
- Exercises concurrency: 70 min
Planned for in-session:
- Async basics: 40 min
- Channels and control flow: 20 min
- Project presentation: 60 min
Homework:
- Blocking the Executor: 10 min
- Pin: 20 min
- Async traits: 5 min
- Cancellation: 20 min
- Exercises: 70 min
Install Rust as explained in rustup.rs/. (For Windows users: don't use winget or chocolatey)
Exercise statements for session X can be found in the examples or tests folder of session X. The name of the exercise file you need will be referenced at the end of each chapter in the slides.
Test your solution to a particular exercise (from any subdirectory) with a command like this (for session 1, exercise 1):
cargo run --example s1e1-fibonacci # For binary examples
cargo run --test s1e1-fibonacci # For test examples(Please avoid searching for existing solutions or using AI unless you tried at least a few times.)
You will have select a topic to work on and finish a larger task (in group or alone). Add your ideas to ./projects.md.
For this course, I combined material from Google's "Comprehensive Rust" and the "Programming Rust" book by Jim Blandy.
To compile the slides of a single session (install Typst first):
cd sessions
typst compile --root . session-1/slides.typ
xdg-open session-1/slides.pdfIf you don't want the slides to be cut into subslides with partial reveals, you can compile a PDF for handouts by adjusting the Touying configuration in the source code.
config-common(handout: true)The slides are written in Typst. There is a template.typ and a few accompanying custom layout functions in the theme folder.
Please refer to the manual of each package for external packages.
- Touying (for slides): https://touying-typ.github.io/
- Tiaoma (for QR-codes): typst.app/universe/package/tiaoma/
- Fletcher (for node-based diagrams): https://typst.app/universe/package/fletcher