Programming in Rust (LFD480)
Master the Rust programming language with hands-on experience in ownership, borrowing, lifetimes, error handling, testing, concurrency, FFI, containers, and multi-architecture deployment to prepare for in-demand systems, web, and concurrency programming roles.
What you'll learn
- Learn idiomatic Rust including ownership, borrowing, lifetimes, primitive and complex types, and std collections
- Practice error handling, testing, debugging, benchmarking, and profiling Rust programs
- Apply Rust for systems programming, web and API clients/servers, and concurrency with threads, message passing, and async
- Use smart pointers, crates, OS functions, and FFI to integrate Rust with existing systems and C code
- Build and deploy Rust applications in containers and cross-compile for AMD64, ARM64, and RISCV64 architectures
Skills you'll gain
- Program in idiomatic Rust using ownership, borrowing, and lifetimes
- Work with primitive and complex types, vectors, hash maps, tuples, structs, enums, and std collections
- Handle errors robustly using Result, panic handling, and upstream error propagation
- Write and run unit, documentation, and integration tests for Rust code
- Debug, benchmark, and profile Rust applications
- Use object-oriented patterns in Rust with structs, traits, generics, and dynamic dispatch
- Leverage closures, iterators, and lifetimes for expressive and safe code
- Organize code with crates and modules for large Rust projects
- Use OS functions including environment variables, file I/O, and processes from Rust
- Apply smart pointers such as Box, Rc, Arc, Cell, RefCell, Mutex, and RwLock
- Implement concurrent and asynchronous Rust programs using threads, message passing, shared state, and atomics
- Build and run Rust applications in containers (e.g., Podman) and with Kubernetes
- Cross-compile Rust programs for multiple architectures including AMD64, ARM64, and RISCV64
- Use Rust’s Foreign Function Interface and unsafe Rust to integrate with C and low-level code
- Develop small system programs, single-page applications, API clients and servers using Rust
Prerequisites
- • Programming experience in another programming language such as C/C++, Java, JavaScript, or Go
- • Access to a system (x86_64, ARM64, or RISCV64) with at least 4 GiB RAM and 50 GiB free disk space for labs
- • Additional RAM recommended for labs using containers and/or Kubernetes
Who this course is for
- → System programmers interested in learning the Rust language
- → Application programmers interested in learning the Rust language
Provider
Linux Foundation
Related Courses
Grokking the System Design Interview, Volume II
The advanced successor to the world's best-selling System Design course, designed to help experienced engineers master complex distributed systems and secure L5/L6 roles.
Esri ArcGIS Enterprise System Design Professional Certification 2025
Learning plan with a curated list of training resources to help you refresh skills and prepare for the ArcGIS Enterprise System Design Professional certification exam.
Learn Next.js
Elevate web apps using Next.js. Gain skills in server-side rendering, dynamic routing, and data fetching for powerful, high-performing, and SEO-friendly applications.
Introduction to Node.js (LFW111)
This course helps you get started with Node.js, the most popular open source JavaScript runtime. Learn how Node.js supports service-mocking, rapid prototyping, real-time applications, and CLIs, while gaining guidance on navigating the Node.js ecosystem.
Introduction to Rust
In this course, you'll learn Rust from the ground up, equipping you with the skills to build efficient and scalable Rust applications. You’ll master Rust’s ownership model, advanced features like smart pointers, multithreading, and async programming through hands-on exercises and a game engine project.
Deep Reinforcement Learning
From foundational concepts to advanced algorithms, this Nanodegree equips you with the tools to build intelligent agents using Python, neural networks, and state-of-the-art RL frameworks across robotics, finance, and beyond.