Rust Essentials: Building Better Software

Course Outline

Rust has held the “most loved language” spot since the Stack Overflow Developer survey started asking the question. Why? If you are developing applications that need to be fast and/or secure, Rust has your back. Traditional systems level programming languages, such as C/C++, are struggling to scale to the demands of the industry they serve. Given the growth of the cloud infrastructure that is a sweet-spot for Rust, and the continued support of developers and top-tier tech companies, Rust looks to have a rosy future and should be part of any current, or aspiring, systems developer's learning path. Rust is not only for systems developers, but data scientists also who are working with large simulation or machine learning models require both accuracy and performance. Rust delivers in these areas.

Rust Essentials: Building Better Software Benefits

  • Basic syntax

  • Lifetimes, ownership and borrowing

  • Data structures

  • Error handling

  • Modularization

  • The Rust toolchain

Rust Essentials: Building Better Software Course Outline

Rust Essentials Training Course Information

  • Prerequisites

    This is a course for intermediate developers. It assumes proficiency in an enterprise development language such as Java, C#, C/C++, JavaScript.

    Knowledge at the level of the courses below would be sufficient:

    • {course:327}
    • Java Best Practices and Design Patterns Training
    • Advanced C# Programming Training: Programming Extended Features
    • Advanced Python: Best Practices and Design Patterns
    • JavaScript Essentials for Web Development
  • Audience Profile

    Experienced developers who wish to:

    • Get involved in systems programming (e.g., infrastructure development) or;
    • Develop efficient modules for use in Python/Java/.NET applications or;
    • Build secure, robust applications or;
    • Build efficient WASM applications.
  • Exam Information

    Optional Learning Tree Exam provided after course

Rust Essentials Training Course Outline

  • Introduction and Overview
    • What is Rust?
    • Rust Notebooks
    • JupyterLab
  • Getting Started with Rust

    • Install Rust
    • Create and build applications
    • Configure a development environment
  • Language Fundamentals

    • Features of Rust
    • Define variables
    • Evaluate expressions
    • Perform conditional logic
    • Repeat operations using loops
  • Ownership

    • Understand how Rust manages memory/resources through its unique ownership system
  • Functions

    • Define functions (and subroutines)
    • Distinguish expressions from statements
    • Specify function references
    • Build higher-order functions
  • Enums and Pattern Matching

    • Use Enums to strongly type data
    • Harness Rust’s powerful pattern matching capabilities to process data
  • Structs

    • Organize data using structs
    • Encapsulate data and behaviour using methods
  • Collections

    • Review the collection data structures available in Rust
    • Manage lists of data using vectors
    • Organize data into dictionaries using hash maps
    • Manipulate strings
  • Error Handling

    • Report unrecoverable errors in Rust apps
    • Handle recoverable errors
  • Generics

    • Reduce duplication by writing code that can handle different types of data
  • Crates and Modules

    • Organize apps into units
    • Build compilation units (crates)
    • Develop logical units (modules)
    • Hide implementation details using visibility controls in modules
  • Course Summary

Course Dates - North America
Course Dates - Europe
Attendance Method
Additional Details (optional)