Course Description
This course bridges the transition from C and C++ to Rust by highlighting their similarities and differences. Exploring Rust’s native compilation, memory management, and advanced features, you’ll compare and contrast key concepts like types, control flow, and data structures in this class. Delve into Rust’s strengths in memory safety and concurrency, alongside its unified tool, Cargo, streamlining development. Additionally, learn how Rust facilitates interoperability with C and C++ through Foreign Function Interface (FFI).
Course Outline
Introduction:
- 1.0 - Introduction
Hello World:
- 2.1 - Setup & Update Rust
- 2.2 - Setup Dev Environment
- 2.3 - IDE Configuration
- 2.4 - Rust Fundamentals
Touring the Rust Langauge:
- 3.1 - Primitive Types
- 3.2 - Mutability
- 3.3 - Primitive Type Conversion
- 3.4 - Numeric Overflow
- 3.5 - Control Flow
- 3.6 - Loops
- 3.7 - Strings
- 3.8 - Functions and Scopes
- 3.9 - Structures
- 3.10 - Structure Functions
- 3.11 - Destructors - Drop
- 3.12 - Tuples and Destructuring
- 3.13 - Enums
- 3.14 - Containers
- 3.15 - Iterators
- 3.16 - Move by Default
- 3.17 - Borrowing
- 3.18 - Slices
- 3.19 - Memory Management
- 3.20 - Concurrency
- 3.21 - Program Organization
- 3.22 - Traits
- 3.23 - Generics
- 3.24 - Error Handling
Touring the Rust Ecosystem:
- 4.1 - Tool Equivalencies
- 4.2 - Unit Tests
- 4.3 - Benchmarking
Calling C from Rust with FFI:
- 5.1 - Calling C from Rust with FFI