Skip to content

wvhulle/rust-course-ghent

Repository files navigation

DevLab Rust 2025

Evening lectures on Rust in Ghent Nov - Dec 2025 for experienced developers. Registration is possible on pretix.eu.

Guidelines

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).

Session 1

Slides

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:


Session 2

Slides

Covered in class:

Not covered in session 2 (see homework):

  • Standard library types: 15 min (partially)
  • Standard library traits: 60 min

Homework:


Session 3

Slides

Planned for in-session:

Homework:


Session 4

Slides

Planned for in-session:

  • Smart-pointers recap: 15 min. exercises
  • Lifetimes: 60 min theory and exercises
  • Iterators: 45 min theory

Homework:


Session 5

slides

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:


Session 6

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

Session 7

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

Lecture material

Exercises

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.)

Project

You will have select a topic to work on and finish a larger task (in group or alone). Add your ideas to ./projects.md.

Theory

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.pdf

If 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)

Contributing

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.

About

In-depth 7-week Rust course in Ghent

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors 3

  •  
  •  
  •