Advanced Rust training

Rust

This couse will teach you advances concepts and usage of Rust in specific domains such as asynchronous programming, graphics (GUI) programming, programming for the web, etc. Rust is a modern programming language blazingly fast, memory-efficient, memory-safe and thread-safe that enables you to eliminate many classes of bugs at compile-time. Rust can power performance-critical services, run on embedded devices, and easily integrate with other languages.

This training is available as "onsite live training" as well as "remote live training".

Languages: French, English

2200 € (Tax free)
4 days (28 hours)

Why take this course

This course combines hands-on exercices (about 60%) with concept understanding and theory (about 40%) and can be adapted to the learner's needs. By the end you will become autonomous in developping Rust applications.

On successfull completion of this course, you will receive an instructor-signed certificate with the institution's logo.

What you'll learn

  1. Think as a rustacean.
  2. Write idiomatic Rust code.
  3. Being self-sufficient in the programming Rust in the domains addressed by this training.

Prerequisites

  • Basic programming experience.
  • Knowledge of Linux/Unix environment.
  • Basic Rust programming (see initial training).

Course syllabus

Module 1 - Introduction
  • Revision of basic Rust programming
Module 2 - Advanced programming
  • Computed constants (const functions)
  • Runtime type information (Any and TypeId)
  • Non-move memory (pin and unpin)
Module 3 - Asynchronous programming
  • Async functions
  • Tokio and async-std runtimes
  • Asynchronous IO
  • Agent-oriented programming with Actix
Module 4 - Preparation for embedded programming
  • Programming with no-std
  • Collections with dynamic allocations (alloc)
  • Collections without dynamic allocations (heapless)
Module 5 - Graphics programming
  • Ecosystem presentation
  • System interfaces (GUI)
    • druid and piet
    • Azul
Module 6 - Programming for the web
  • Access to an SQL database with diesel
  • Web server
    • Rocket and Actix-web
  • Rust in the browser with WebAssembly

Meet your instructor

Laurent Wouters is co-founder of Cénotélie and a dedicated researcher and trainer. He has been coding actively in Rust for several years, in particular, to develop a software for crop management using satelite images processing. It is a complex application with a backend entirely written in Rust.
Laurent is an active contributor to other open projects, like Hime, for which he has also developed the Rust runtime.

He holds a PhD in the Theory of languages. As a researcher, he was particularly interested in understanding how languages and semantics can contribute to efficient digital collaboration and complex systems engineering. He gained a strong teaching experience as a teaching assistant in top universities in Paris, including Ecole Centrale de Paris.