Course Outline

Introduction

  • What is Rust?
  • Rust vs other programming languages
  • Overview of Rust features and architecture

Understanding Rust

  • The lifecycle of a Rust program
  • How Rust works at a systems level
  • Memory safety and ownership in Rust

Getting Started

  • Setting up the Development Environment
  • Installing Rust as a programming toolchain
  • Configuring the Rust environment
  • Exploring Cargo package manager

Basic Syntax and Concepts

  • Variables and data types in Rust
  • Control flow and loops
  • Functions and modules
  • Ownership and borrowing in Rust

Error Handling and Panic

  • Handling errors with Result and Option types
  • Unwinding vs aborting with panic!
  • Custom error types and error handling strategies

Memory Management in Rust

  • Stack vs heap memory allocation
  • Pointers and references in Rust
  • Managing memory with Box and unsafe blocks

Structs and Enums in Systems Programming

  • Defining and working with structs
  • Creating and using enums
  • Pattern matching in Rust

Interfacing with C and Low-Level Code

  • Interfacing Rust with C and C++ code
  • Using FFI (Foreign Function Interface)
  • Working with raw pointers and unsafe code

Concurrency and Synchronization

  • Concurrency models in systems programming
  • Mutex, RwLock, and Condvar for synchronization
  • Channels and message passing for communication

Debugging and Troubleshooting Rust Programs

  • Tools and techniques for debugging Rust programs
  • Profiling and performance analysis
  • Troubleshooting common issues in systems programming

Summary and Next Steps

Requirements

  • Basic understanding of programming concepts
  • Familiarity with at least one programming language (such as C or C++)

Audience

  • Developers
  21 Hours
 

Number of participants


Starts

Ends


Dates are subject to availability and take place between 09:30 and 16:30.
Open Training Courses require 5+ participants.

Testimonials (4)

Related Courses

Combined C/C++, JAVA and Web Application Security

  28 Hours

Advanced Java Security

  21 Hours

Combined JAVA, PHP and Web Application Security

  28 Hours

Related Categories