- Overview
- Prerequisites
- Audience
- Audience
- Curriculum
Description:
Rust is a multi-paradigm, general purpose programming language that is gaining popularity amongst many companies. Rust emphasizes performance, type safety, concurrency, immutability and has several programming features adopted from functional programming. This course is designed to get students well versed in various Rust programming fundamentals with a lot of code samples and hands-on exercises. The course will cover topics such as basic data types, collections, structs, lifetimes, traits, generics and much more. We will cover pointers, concurrency, and implement various data structures such as binary search trees, sorting, graphs.
Duration: 3 days
Code Code: BDT307
Learning Objectives:
After this course, you will be able to:
- Getting started with Rust
- Rust basics: understanding basic data types & control flow
- Understanding data ownership and working with structs
- Using enumerations, pattern matching, traits and generics
- Understand Error Handling Strategies and Testing in Rust
- Exploring advanced topics in Rust
- This course is designed for anyone interested in getting started with Rust Programming: System Programmers, Software Developers, QA Engineers.
- Must have experience with at least one programming language.
- Must have experience with at least one programming language.
Course Outline:
1. Getting Started with Rust
- Installing Rust
- Configuring Visual Studio Code for Rust
- Write Hello World! program
- Lab: Set up Rust Development Environment
2. Rust Basics
- Basic data types
- Scalar data types
- Tuples, Arrays, Vectors, Slices
- String, String literals
- Functions and Control Flow
- Lab: Code covering above topics
3. Data Ownership
- Moving, copying and cloning data
- Understanding the data ownership model in Rust
- Working with references and borrowing
- Create structs, methods and understand lifetimes
- Using common collections in Rust
- Lab: Code covering above topics
4. Using enums, pattern matching, traits and generics
- Working with enums, options, match
- Understanding Generics
- Understanding traits
- Using traits as parameters
- Lab: Code to understand above concepts
5. Error Handling and Testing in Rust
- Understand the importance of error handling in Rust
- Employ Result, Option types for error management
- Learn to catch errors
- Setting up tests and using assertions
- Lab: Code covering these topics
6. Advanced Topics in Rust
- Working with iterators and closures
- Using pointers: Box, RC and ARC in Rust
- Basics of concurrent programming
- Create and manage threads using std::thread module
- Implement synchronization mechanisms, such as Mutex and Arc
- Lab: Code covering these topics
Training material provided: Yes (Digital format)
Hands-on Lab: Instructions will be provided to install Rust Programming tools, also students should install Visual Studio Code.