Background image
Technical training - Programming
Training Logo

Advanced Rust

Why choose the Advanced Rust training

This course will teach you advanced concepts and usage of Rust in specific domains such as asynchronous programming, graphics (GUI) programming, programming for the web, etc. This is the Rust pioneer training in France and it has been taught for more than four years. Several hundred attendees already benefited from it. Get the most of an experimented trainer able to answer all your questions and a dedicated teaching environment.

Why Rust?

  • Performance: Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.
  • Reliability: Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to eliminate many classes of bugs at compile-time.
  • Productivity: Rust has great documentation, a friendly compiler with useful error messages, and top-notch tooling — an integrated package manager and build tool, smart multi-editor support with auto-completion and type inspections, an auto-formatter, and more.

on-site

online

Français

What you'll learn

In this training, each module consists of 60% of practical exercises and 40% of presentations. At the end of the training, the attendees shall be autonomous in their Rust development. At the end, the attendees can:

  • Apply the basic principles of the language in the context of a common project.
  • Use advanced concepts : computed consts, reflection, non-move memory
  • Apply async programming mechanisms in concrete applications
  • Apply appropriate methods for embedded programming
  • Identify the currently existing GUI libraries
  • Implement a first GUI application
  • Implement a web application

Target audience

All organization that want to train their technical staff (developers, team leaders, etc.) on a safe and performant system programming language.


Prerequisite

  • Basic programming knowledge
  • Unix / Linux environment
  • Basic Rust programming (see Introduction training)

Certification

A completion certificate is addressed to all attendees that complete the course.

Add it to your Linkedin profile

Sharable certificate


Teaching method and assessment

Pedagogical modalities are adapted to the group, depending on the group size and attendees: practical exercises, guided discussions, pair-programming, individual coaching, etc. Several projects are to be completed in an autonomous fashion, so as to consolidate learning. The validation of skill acquisition and evaluation is managed by the trainer during the training.


Course format

4 days 28 hours, 2200 € (VAT excl.)
Other course formats are available. Contact us to discuss about your specific needs with one of our advisors.

Access procedures, timelines, and process description

This training can be attended in person or online. The estimated delay to start est around 1 month.

Before the training

  • Interview and questionnaire to identify the expectations and requirements
  • Sending of the administrative documents: contract, welcome leaflet, etc.
  • Sending of the setup instruction and resources for the course

During the training

  • Attendees come with their computer
  • Evaluation all along the course of the training (exercises, quiz, questions)

At the end

  • Personal completion certificate
  • Self-evaluation questionnaire
  • Satisfaction survey

After the training

  • Satisfaction survey after 3 months

Accessibility

For all trainings, we conduct preliminary surveys to adapt our sites, pedagogical modalities and course animation to any declared disabilities. We are here, should you have any question or specific requirements. Contact us at formation@cenotelie.fr.


Course rating

  • Trainer quality : 5/5
  • Material and tools quality : 4.8/5

Contents training Advanced Rust

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

Instructor

Laurent Wouters est cofondateur de Cénotélie et chercheur. Laurent pratique le langage Rust au quotidien depuis plusieurs années, notamment dans le cadre du développement d'une plateforme en ligne pour le suivi de la croissance des cultures agricoles sur la base de l'analyse d'images satellite. Il s'agit d'un produit industriel complexe, dont tous les composants côté serveur sont écrits en Rust. Pour un aspect plus visible, Laurent participe à Hime, dont une version du runtime est écrite en Rust.

Laurent détient un titre de doctorat en Théorie des langages. Durant ses activités de recherches il s'est passionné à comprendre comment les languages et la sémantique peuvent améliorer les pratiques de collaboration et l'ingénierie des systèmes complexes. Par ailleurs, il a participé à l'encadrement de plusieurs travaux de stage et de thèse. Avant de devenir un formateur professionnel, il s'est forgé une expérience en tant qu'enseignant dans plusieurs grandes universités parisiennes, dont l'Ecole Centrale de Paris.


Next sessions

Training Logo

Advanced Rust - April 2024

Language: Français

Apr 25, 2024 - May 7, 2024

Do you need more info? Contact us

Technical training

Testimonials

We always like to hear our customers come out from the cooperation happy and satisfied. Have a look what our customers said about us.