Een vrouw volgt een klassikale training bij Startel.
Klassikale / virtuele training

Introduction to Rust Programming (English)

  • Start gegarandeerd
  • Intermediate
  • 4 dagen
  • Engels

The Introduction to Rust Programming course is designed to give you a solid foundation in one of today’s most innovative and secure systems programming languages. You will learn Rust’s history, design principles, and its powerful approach to memory management, error handling, and concurrency through a mix of theory and hands-on labs. With our proven skill-tree method and years of teaching experience, this course helps you overcome Rust’s steep learning curve and truly grasp the language’s spirit.

9.2
  • Ervaren en gecertificeerde trainers
  • Meer dan 25 jaar ervaring in opleiden

Develop your Rust programming skills

This Rust programming course includes hands-on assignments, comprehensible theory and professional guidance. This will enable you to put the knowledge and skills you have acquired into practice.

About the Rust Programming course

This course is entirely in English.

This Rust Programming training course updated for Rust Edition 2024 and Rust 1.88 is an immersive course, designed to introduce you to Rust, one of the most innovative and safe systems programming languages.

This Rust course covers everything from Rust’s history and design philosophy, to its modern application in software engineering. Through a blend of theory and hands-on labs, you'll explore Rust's unique approach to memory management, error handling, and concurrency, preparing you to build fast, reliable, and efficient software systems.

Let's be honest with you, Rust is a language that indeed has a more steep learning curve. But using our skill-tree approach you can find at any time what knowledge you know, what knowledge you master and what knowledge you need to proceed in one of the directions that you would like to explore in Rust. We have accumulated our 3 year experience with over 120 students in this enhanced course.

And the future is bright for Rust programmers. It's one of the most sought after skills in the industry and experienced Rust programmers unfortunately do not grow on trees.

If you have read several books on Rust and still are heaving a difficulty grasping the spirit of Rust, I challenge you to take our course and lay a vast foundation of your Rust knowledge.

Who is this Rust Programming course for?

This Rust programming training course is suitable for:

  • Beginners & Enthusiasts
    • Ideal for those new to programming or transitioning from other languages who are eager to learn Rust in a structured manner.
  • Experienced Developers
    • Perfect for professionals who have dabbled in Rust but need a clear, guided pathway to truly master its intricacies.
  • Software Engineers & Industry Practitioners
    • For engineers looking to leverage Rust’s advanced features for building high-performance and secure applications.

Course objectives for this Rust course

What You Will Learn:

  • Foundations of Rust
    • History, philosophy, and the rise in Rust’s popularity.
    • The unique features that make Rust ideal for safe systems programming.
  • Setting Up Your Environment
    • Installing and configuring Rust using Rustup and Cargo.
    • Setting up your first Rust project with recommended editors and IDEs.
  • Core Rust Programming Concepts
    • Writing your first Rust program.
    • Understanding Rust's building blocks: variables, functions, constants, and macros.
    • Mastering both primitive (statically sized) and dynamically sized data types.
    • See yourself how Rust manages the storage of these types.
    • See and verify how ownership and borrowing in Rust works 'under the hood'.
  • Memory Management and Error Handling
    • Deep dive into Rust's ownership model, borrowing rules, and lifetimes.
    • Implementing robust error handling using the Option and Result types.
  • Advanced Programming Constructs
    • Leveraging closures, iterators, and generics.
    • Exploring smart pointers, and the introduction of concurrency concepts in Rust with threads and async programming.
  • Organizing and Testing Your Code
    • Structuring projects using modules, crates, and workspaces.
    • Implementing unit, integration, and documentation tests.
  • Object-Oriented Programming in Rust
    • Understanding how traditional OOP concepts are reinterpreted in Rust.
    • Emphasizing composition, trait-based polymorphism, and best practices.

Recommended prerequisites

To attend this Rust programming training course, we recommend the following:

  • Basic Programming Knowledge
    • Familiarity with fundamental programming concepts such as variables, functions, control structures, and data types.
  • Understanding of Programming Paradigms
    • A general grasp of programming paradigms (imperative, object-oriented, or functional) is beneficial but not mandatory.
  • No Prior Rust Experience Required
    • This course is designed to start from the basics and gradually move to advanced topics, making it accessible regardless of your previous experience with Rust.

Course Outline Rust Programming Introduction

1. Introduction to Rust

  • History of Rust.
  • Popularity of Rust.
  • Programs & Projects in Rust.
  • Philosophy behind Rust.
  • Why not Rust.
  • Rust as your first programming language.
  • Rust and Software Engineering.
  • Rust release cycles.
  • Rust REPL.

2. Setting up your Rust environment

  • Components of Rust.
  • Rustup.
  • Cargo.
  • Editors and IDEs for Rust.
  • Setting up your first Rust project.
  • Compiling and running.
  • Cargo build modes.

3. Exploring Rust

  • Your first Rust program.
  • Rusty building blocks.
  • Main function.
  • Variables.
  • Constants.
  • Tail expressions.
  • Functions.
  • Macros.
  • Traits.
  • Developer documentation.

4. Primitive or statically sized data types

  • Integers.
  • Floats.
  • Booleans.
  • Char.
  • Literal String (&str).
  • Tuples.
  • Array.
  • Reference types.
  • Statically Sized User defined types.
    • Structs.
    • Enums.
  • Constants.
  • Statistics.
  • Converting/casting.

5. Dynamically sized data types

  • Slices.
  • Owned Strings / String Objects.
  • Dynamically Sized User defined types.
    • Structs.
    • Enums.

6. Memory Management in Rust

  • Classic memory management.
  • Rust's take on memory management.
  • Stack vs Heap.
  • ReadOnly part of.
  • Concept of ownership.
  • The three ownership rules.
  • Ownership handling with static and dynamic types.
  • Issues as a result of ownership move.
  • Borrowing.
  • The Borrowing Rules.
  • Partial borrowing.

7. Conditionals in Rust

  • If conditional.
  • Let if.
  • Match.
  • Let match.
  • Match guards.
  • Pattern matching.
  • Advanced pattern machting.

8. Program flow in Rust

  • While loops.
  • For loops.
  • Break.
  • Continue.

9. Collections

  • Vectors.
  • Hashmaps.
  • Overview of other collections.

10. Functions

  • Function signature.
  • Naming conventions.
  • Tail expressions.
  • Multiple return values.
  • Recursive functions.

11. Error handling

  • Recoverable and non-recoverable errors.
  • Panic.
  • Some<T,None> enum.
  • Result<T,E> enum.
  • Unwrap.
  • Using match.
  • Error propagation.
  • Error propagation with the ? operator.
  • Errorkind.
  • Custom Errors.
  • Useful external error crates.

12. The Rust std library

  • Overview of the std library.
  • I/O functions.
  • Parse functions.
  • Math functions.
  • OS functions.

13. Testing in Rust

  • Unit tests.
  • Macros used in testing.
  • Building and running tests.
  • Test coverage.
  • Doc testing.
  • Integration testing.

14. Closures

  • Concept of closures.
  • Use case of closures.
  • Closures that borrow.
  • Closures that take ownership.

15. Iterators

  • Understanding Iterators.
  • Types of iterators.
  • Lazy evaluation.
  • Ownership and borrowing.
  • Mutable iterators.
  • Iterators and Pattern Matching.
  • Creating a custom Iterator.

16. Code organization in Rust

  • Concepts of code organization in Rust.
  • Crates.
  • Packages.
  • Modules.
  • Visibility and scoping.
  • Rust Workspaces.
  • Importing an external package.
  • Creating and publishing your own package.
  • Code organization patterns.
  • Best practices.

17. Object Orient Programming in Rust

  • OOP concepts.
  • OOP concepts implemented in Rust.
  • Favoring composition over inheritance.
  • Static or associated methods.
  • Constructors.
  • Destructors.
  • Traits.
  • Trait bounds.
  • Static displatch.
  • Dynamic displatch.
  • Downcasting.

18. Generics in Rust

  • Concept of Generics.
  • Generic Functions.
  • Generic userdefined types.
  • Trait bounds.

19. Lifetimes in Rust

  • Concept of lifetimes.
  • Lifetime annotations.
  • Lifetime elision.

20. Smart pointers in Rust

  • Concepts of Smart Pointers.
  • Box.
  • Rc and Arc.
  • Cell and RefCell.
  • Mutex and RwLock.

21. Concurrency in Rust

  • Concepts of concurrency in Rust.
  • Threads.
  • Message Passing (MPSC).
  • Share State Concurrency.
  • Rayon.
  • Async programming in Rust.

Beschikbare opties voor de Rust Programming training

  • Klassikaal / virtueel

    € 2995 excl. BTW

  • Incompany

    Prijs op maat

Start gegarandeerd

Trainingen met ‘start gegarandeerd’ gaan altijd door op de geplande datum.

Momenteel geen startgarantie?
Neem contact met ons op

Kies voor groei, net als deze organisaties

Ervaringen van onze deelnemers

  • Foto van klant (Edwin Schoonbeek) die een boek leest.

    Je merkt aan alles dat Startel geen statisch bedrijf is

    De droom is om Cyber Security Officer (CSO) te worden. Met deze opleidingen ontdek ik of dit beroep echt bij me past. Het fascineert me om de veiligheid in een bedrijf te waarborgen, vooral omdat we steeds meer te maken krijgen met digitale uitdagingen.
    Edwin Schoonbeek
    Lees gehele testimonial
  • Foto van klant (Jons van der Heul) die aan het werk is.

    Startel bood me de springplank naar een nieuwe carrière.

    Startel heeft veel trainingen om uit te kiezen en tussen sommige zit best wat overlap. In overleg met mij hebben ze een basispakket op maat voor me samengesteld bestaande uit drie cursussen.
    Jons van der Heul
    Lees gehele testimonial
  • Foto van klant (Alex Tabak) die aan het typen is.

    De manier waarop Startel opleidt, geeft veel vertrouwen.

    Maar er zijn ook mensen die bijscholing nodig hebben. Zoals de man die ooit systeembeheerder was bij een grote universiteit en die de afgelopen tien jaar door omstandigheden thuis heeft gezeten.
    Alex Tabak
    Lees gehele testimonial
  • Sten Numan aan het bellen in het Yelgo kantoor.

    Door onze samenwerking met Startel kunnen we onze mensen helpen om continu te groeien.

    Door onze samenwerking met Startel kunnen we onze mensen helpen om continu te groeien.
    Sten Numan
    Lees gehele testimonial
  • Foto van klant (Gerrit Meijering) die aan zijn werkplek zit.

    Startel heeft altijd een passend aanbod op onze vraag.

    Startel ken ik al heel lang. Toen zij nog op hun vorige locatie in Roden zaten, en ik nog bij mijn vorige werkgever werkte, volgde ik al cursussen en trainingen bij ze.
    Gerrit Meijering
    Lees gehele testimonial
Bekijk alle testimonials

Terugbelverzoek

Vul hieronder jouw gegevens in, zodat wij telefonisch contact met je kunnen opnemen.

Terugbelverzoek
Vul hieronder jouw gegevens in, zodat wij telefonisch contact met je kunnen opnemen.
Vul hieronder aanvullende informatie in over jouw vraag, zodat wij jou zo goed mogelijk kunnen helpen.
Wij zijn dé IT-opleider van het noorden
  • Train bij ons in Drachten of op jouw eigenlocatie.
  • Klanten geven ons een 9.2
  • Erkende trainers.
  • Ontvang een certificaat na deelname!
Pieter Fokkema op de foto.
x

Offerte incompany

Vul hier al je gegevens in waarvoor je een offerte wilt ontvangen.

"*" geeft vereiste velden aan

(Incompany) offerte aanvragen
Vul hier al je gegevens in waarvoor je een offerte wilt ontvangen.
Vul hier jouw naam in*
Vermeld eventuele specifieke wensen en het aantal deelnemers.
Wij zijn dé IT-opleider van het noorden
  • Train bij ons in Drachten of op jouw eigen locatie.
  • Klanten geven ons een 9.2
  • Erkende trainers.
  • Ontvang een certificaat na deelname!

Kom je er niet uit?
Laat ons je helpen!

Contact opnemen

Pieter Fokkema op de foto.
x

Download Brochure

"*" geeft vereiste velden aan

Brochure downloaden
Vul hier al je gegevens in om de brochure te downloaden.
Wij zijn dé IT-opleider van het noorden
  • Train bij ons in Drachten of op jouw eigen locatie.
  • Klanten geven ons een 9.2
  • Erkende trainers.
  • Ontvang een certificaat na deelname!

Kom je er niet uit?
Laat ons je helpen!

Contact opnemen

Pieter Fokkema op de foto.
x