Rust is a systems programming language designed with a focus on safety, particularly safe concurrency. It supports both functional and imperative paradigms and is syntactically similar to C++. However, its designers aim to provide superior memory safety while maintaining high performance. In this hands-on, practical course, you will start from scratch, becoming familiar with Rust's basic syntax and concepts, defining functions, creating variables, and much more.
Mastering Rust Code Development
Through this course, you will learn to test your code by building a simple crate with a well-documented and tested API using Cargo and RustDoc. You will explore various forms of code reuse, including loops, map, filter, and fold, to create reusable code for your applications, saving time and resources.
Course Outcomes
By the end of this course, you will be equipped to avoid code duplication and write clean, reusable code. You will also be confident in building diverse solutions using Rust.
Contents and Overview
This training program comprises two comprehensive courses, carefully selected to provide a holistic learning experience.
Course 1: Learning Rust
Learning Rust begins by introducing you to Rust's basic syntax and concepts, from writing a Hello World program to defining functions and creating variables. You'll learn to manage toolchains with Rustup and build your first command-line program. Moving forward, you'll delve into Rust's type system to enhance your coding skills and practice them in a simple markup language. You'll also employ Rust's functional programming features for a physics simulation and use the Rayon crate for parallel computations. Finally, you'll embrace best practices and learn to test your code by building a simple crate with a tested, usable, and well-documented API using Cargo and RustDoc. By course end, you'll be adept at creating various solutions in Rust and utilizing its robust type system and rich ecosystem of libraries, or "crates," via the Cargo package manager.
Key Learning Points
- Introduction to Rust's basic syntax and concepts
- Managing toolchains with Rustup
- Building command-line programs
- Exploring Rust's type system
- Practicing Rust's functional programming features
- Parallel computations with the Rayon crate
- Testing and documenting code using Cargo and RustDoc
Course 2: Building Reusable Code with Rust
Building Reusable Code with Rust teaches you to develop reusable Rust code, eliminating the need for repetitive code. You'll craft adaptable code with advanced features such as traits, generics, and macros. Additionally, you'll engage with different forms of code reuse, including loops, map, filter, and fold, enabling high-level reuse without compromising runtime performance. The course also covers organizing your code into modules and crates, preparing you to publish them on crates.io. By course completion, you'll avoid code duplication and consistently create clean, reusable code.
Core Competencies
- Developing adaptable code with traits, generics, and macros
- Using loops, map, filter, and fold for code reuse
- Organizing code into modules and crates
- Publishing crates on crates.io
- Writing clean, reusable Rust code