Search our courses
Training

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

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

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.

Rust Programming Introduction

Course Code

GTAORP1

Duration

4 days

Course Fee

€1,950.00

Subsidised places may be available on this course, please Contact us for details.

Accreditation

N/A

Target Audience

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.

 

Attendee Requirements

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.


Tuesday 06 May - Friday 09 May (4 days) 09.30 - 17.00
 Live Online GMT +01:00

Expand all

Course Description

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

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

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.
Course Outline

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

 

Exam

N/A

Learning Path

Other courses which may interest you:

Ways to Attend

•    Join one of our instructor-led live online courses. See our Schedule for details.
•    We can also organise Private team training, and design a programme to suit your exact business requirements. Contact us for more details

 

Private Team Training is available for this course

We deliver this course either on or off-site in various regions around the world, and can customise your delivery to suit your exact business needs. Talk to us about how we can fine-tune a course to suit your team's current skillset and ultimate learning objectives.

Private Team Training | Contact us

Technical ICT learning & mentoring services

Private Team Training

Our instructors are specialist consultants with vast real world experience and expertise allowing them to design and deliver client-focused courses for your organisation.

Learn more about our Private Team Training

What Our Clients Say

"Absolutely fantastic training. Thoroughly enjoyed it thanks to our highly enthusiastic tutor.  It wouldn't be an understatement to say that it was the best professional training that I have ever received."

 

Customised Linux with Networking

Live Online -  February 2022

 


“It was very positive. This course was 4 days but covered a semester worth of work if it was done in college. The labs were relevant and delegates were provided the lab/coursebook for further study and practice after the course finished. GuruTeam's course was excellent and provides a deeper understanding of the architecture and how it all works. The hands-on aspect was very helpful as it helped solidify the concepts as I went along."

 

Kubernetes Administration Certification - GTLFK

Live Online September 2024

 

 

 

“The Instructor was very knowledgeable, laid back and very approachable during the course. The environment setup was second to none.  Very easy to jump in and follow along with minimal pre-req setup."

Kubernetes Administration Certification - GTLFK

Onsite May 2024

 

“The experience was complete for me. I like how the training was sequenced - the slides organization, the examples and explanations and then the exercises. Time for exercises and support by the Instructor was great plus answering the questions and going out for answers and coming back with examples as brilliant. I loved how much I refreshed and how I learned and got inspired to improve stuff at work.”

 

Docker - GTDK1

Live Online December 2024

 

“Great instructor, who encouraged active participation. The breakout groups and exercises kept the group engaged and the content relevant to our own products”.

 

Site Reliability Engineering Foundation - GTDSRE

Live Online January 2022

 

 

 

"Intelligence is the ability to avoid doing work, yet
getting the work done"

Linus Torvalds, creator of Linux and GIT

Technical ICT learning & mentoring services

About GuruTeam

GuruTeam is a high-level ICT Learning, Mentoring and Consultancy services company. We specialise in delivering instructor-led on and off-site training in Blockchain, Linux, Cloud, Big Data, DevOps, Kubernetes, Agile, Software & Web Development technologies. View our Testimonials

Download our eBrochure
Our Accreditation Partners
  •  
  •  
  •  

 

Upcoming Courses

Kubernetes Admin

  3rd - 6th June 2025

 Live Online
 GMT +01:00  09:30 - 17:00 hrs

This Kubernetes Administration
Certification training course is
suitable for anyone who wants
to learn  the skills necessary to build and administer a Kubernetes cluster.

 

LEARN MORE

RUST PROGRAMMING INTRODUCTION

   6th - 9th May 2025

 Live Online
 GMT +01:00  09:30 - 17:00 hrs

This Rust Programming Introduction training course will help you understand what Rust applications look like, how to write Rust applications properly, and how to get the most out of the language and its libraries.
 

Learn More

NEW FAST TRACK PYTHON SERIES

April to June 2025

Live Online
GMT +01.00  09:30 - 17:00 hrs

Hit the ground running.....
GuruTeam’s new Python Fast Track series Instructor-led live online training
designed & delivered by industry experts.

Python Fast Track I Comprehensive
Python Fast Track II Expert
Python Fast Track III for Data Science

 

 

 

Learn More

GO PROGRAMMING INTRODUCTION

  19th - 22nd May 2025
  

Live Online
GMT +01:00  09:30 - 17:00 hrs

This Go Programming Introduction training course will help you understand how Go works, and immediately be more productive. If you are building a team using Go, this will be a great opportunity to get your team on the same page and speaking the same language.

Learn More

Newsletter

Stay up to date, receive updates on scheduled dates, new courses, offers, and events.

Subscribe to our Newsletter