Learning Rust

Learning Rust

Updated May 24, 2024

What you'll learn

  • See how to encode common programming concepts in Rust
  • Discover the advantages of the Rustup toolchain manager and the Cargo build tool
  • Prevent data races and memory corruption by controlling exclusive versus shared access
  • Represent data with enums and structs
  • Build powerful abstractions with traits and bounded generics
  • Create concise pipelines with closures and iterators
  • Use Rayon to parallelize functional and procedural programs 
Course Description

Rust is a new systems programming language from Mozilla, created to facilitate the development of large, complex software projects. Its powerful type system and memory safety rules prevent all memory corruption bugs without compromising developer productivity.

In this course, you’ll begin by getting familiar with the basic syntax and concepts of Rust, from writing a Hello World program to defining functions and creating variables. Then you’ll see how to manage toolchains with Rust up and build your first command-line program.

Moving on, you’ll explore Rust’s type system to write better code and put it into practice in a simple markup language. You’ll learn to use Rust’s functional programming features to perform a physics simulation and use the Rayon crate to parallelize your computations. Finally, you’ll discover the best practices and test your code by building a simple crate with a tested, usable, well-documented API using Cargo and RustDoc.

By the end of the video, you’ll be comfortable building various solutions in Rust. You’ll be able to take advantage of Rust’s powerful type system and a rich ecosystem of libraries, or “crates”, available through the Cargo package manager. 

Target Audience

The video is for developers who have basic knowledge of programming. The video will also appeal to developers who are using C/C++ language to write their applications. There is no knowledge of Rust language expected.  

Business Outcomes

  • Discover Rust’s powerful type system, which prevents data races and memory corruption
  • Build concurrent applications without fear
  • Take advantage of the large ecosystem of libraries available through Cargo