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 Delivery Methods
Rust Essentials: Building Better Software Course Information
This course will cover:
- Basic syntax
- Lifetimes, ownership and borrowing
- Data structures
- Error handling
- Modularization
- The Rust toolchain
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:
Exam Information
Optional Learning Tree Exam provided after course
Rust Essentials: Building Better Software 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