Rust programming

This course offers a hands-on introduction to the Rust programming language. In 4 days, participants will learn why Rust is renowned for its safety, speed, and reliability, and how these qualities can be applied in practice. - ABIS

Rust has rapidly grown into one of the most influential modern programming languages. It combines the performance of C/C++ with a unique memory and type system that prevents errors before the program even runs. Participants are introduced to the language, learn to understand its core concepts, and discover how Rust is applied across diverse domains: from systems programming and web backends to embedded software and game development.

This course

  • Understand the foundations of Rust: declare and use variables, constants, and types; apply control flow and functions effectively.
  • Apply Rust’s ownership and borrowing model to write memory-safe code without garbage collection.
  • Design and implement data structures using structs, enums, and generics.
  • Use traits and trait bounds to express polymorphism and abstraction in Rust.
  • Organize codebases with modules and crates, and apply unit and integration testing for quality assurance.
  • Handle errors safely and idiomatically using `Result`, `Option`, and custom error types.
  • Work with core standard library features such as strings, collections, and I/O (console, files, and networking).
  • Develop idiomatic Rust code using closures, iterators, and functional programming techniques.
  • Leverage smart pointers and reference types (`Box`, `Rc`, `Arc`, `RefCell`, etc.) to manage memory and data sharing.
  • Build concurrent applications with threads, channels, and synchronization primitives.
  • Apply lifetime annotations to ensure safe references across functions and data structures.
  • Understand and use unsafe Rust features responsibly to extend capabilities while maintaining safety through abstractions.
  • Develop practical Rust projects that consolidate theory into applied coding experience.

Schedule a training?


Delivered as a live, interactive training: available in-person or online, or in a hybrid format.
Training can be implemented in English, Dutch, or French.
If interested in organising this training internally, get in touch with us; we can even customise it to meet your specific needs.

REQUEST IN-COMPANY TRAINING

 

Public training calendar

No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please let us know.

Intended for

Software developers, systems programmers, and engineers who want to get started with Rust or apply the language in their daily work. Also suitable for developers experienced in languages such as C, C++, Java, or Python who are looking for safer and higher-performance programming.

Background

Basic knowledge of programming (variables, functions, data structures) is required. Experience with another language such as C, C++, Python, or Java is recommended but not strictly necessary.

Main topics

  • Introduction: mindset of Rust, safety + performance
  • Variables, constants, and types (scalars, tuples, arrays)
  • Expressions, control flow, and functions
  • Core concept: ownership, stack vs. heap, borrowing, compiler guarantees
  • Structs and enums (with generics)
  • Traits: basics, trait bounds, trait objects
  • Advanced trait features (associated types, operator overloading)
  • Modules and crates: organizing projects, using Cargo
  • Testing: unit + integration testing
  • Error handling: `Result`, `Option`, custom error types
  • Strings: Unicode, slices, parsing, formatting, performance
  • Collections: Vec, HashMap, BTreeMap, Sets, BinaryHeap
  • Projects: *Math Quiz*, *Hangman*, *To-Do List*, *User Registration System*
  • Functional programming in Rust: closures, iterators, FP techniques
  • Smart pointers: Box, Rc, Arc, RefCell, interior mutability
  • Concurrency: threads, channels, synchronization primitives
  • Lifetimes: functions, structs, best practices
  • Unsafe Rust: when and why, safe abstractions

Training method


Live instructor-led training, with plenty of opportunities for hands-on exercises and discussion

Certificate

At the end of the course session, the participant receives a 'Certificate of Completion'.

Duration

4 days.

Course leader

Freek van Keulen


SESSION INFO AND ENROLMENT